
本文介绍了如何使用 Pandas 库将 DataFrame 中特定列的行按照分隔符拆分成多行。通过 str.split() 和 explode() 函数的组合使用,可以高效地实现数据的拆分和重塑,从而满足数据处理和分析的需求。本文将提供详细的步骤和代码示例,帮助读者掌握这一技巧。
在数据处理过程中,有时需要将 DataFrame 中某列的单个单元格拆分成多行,这通常发生在单元格包含多个值,并以特定分隔符分隔的情况下。Pandas 提供了简洁而强大的方法来实现这一目标,即结合使用 str.split() 和 explode() 函数。
步骤 1:导入 Pandas 库
首先,确保已经安装了 Pandas 库,并将其导入到 Python 环境中:
import pandas as pd
步骤 2:创建 DataFrame
为了演示拆分行的过程,我们创建一个示例 DataFrame:
data = {'ASSET_CLASS': ['Core'],
'SPLIT': ['0.6 Government / 0.4 Credit']}
df = pd.DataFrame(data)
print(df)输出:
ASSET_CLASS SPLIT 0 Core 0.6 Government / 0.4 Credit
步骤 3:使用 str.split() 函数拆分列
接下来,使用 str.split() 函数将 SPLIT 列按照分隔符(在本例中是 " / ")拆分成列表:
df["SPLIT"] = df["SPLIT"].str.split(" / ")
print(df)输出:
ASSET_CLASS SPLIT 0 Core [0.6 Government, 0.4 Credit]
步骤 4:使用 explode() 函数展开列表
现在,SPLIT 列的每个单元格都包含一个列表。使用 explode() 函数将这些列表展开,从而将一行拆分成多行:
df = df.explode("SPLIT").reset_index(drop=True)
print(df)输出:
ASSET_CLASS SPLIT 0 Core 0.6 Government 1 Core 0.4 Credit
完整代码示例
将上述步骤整合在一起,得到完整的代码示例:
import pandas as pd
data = {'ASSET_CLASS': ['Core'],
'SPLIT': ['0.6 Government / 0.4 Credit']}
df = pd.DataFrame(data)
df["SPLIT"] = df["SPLIT"].str.split(" / ")
df = df.explode("SPLIT").reset_index(drop=True)
print(df)注意事项
总结
通过 str.split() 和 explode() 函数的组合使用,可以方便地将 Pandas DataFrame 中特定列的行按照分隔符拆分成多行。这种方法在数据清洗、转换和分析中非常有用,可以帮助用户更好地处理和理解数据。掌握这一技巧,可以提高数据处理的效率和灵活性。
以上就是Pandas:基于特定列分隔符拆分行的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号