我有一个包含数千行的数据框:
Column1 Column2
someString String1;String2;String3
someString String4;String5
我要拆分column 2
在新列中使用“;”作为分隔符。 Column1 Column2 Column3 Column4 Column5
someString String1 String3 String2
someString String4 String5
在查看文档时,我尝试了一种方法:df[['Subcolumn1','Subcolumn2','Subcolumn3','Subcolumn4']] = df.Column2.str.split(";",expand=True)
我有 ValueError: Columns must be same length as key
我无法预测将创建多少列,因为我有数千行并且每行包含不同数量的要分隔的字符串。所以我正在寻找一种更“动态”的方式来生成这些列,以避免这些值错误。
最佳答案
tmp = pd.concat( [df['Column1'], df['Column2'].str.split(';', expand=True).add_prefix('SubColumn')], axis=1 )
print(tmp)
打印: Column1 SubColumn0 SubColumn1 SubColumn2
0 someString String1 String2 String3
1 someString String4 String5 None
关于python - 如何在不知道 Python 中将生成多少列的情况下拆分列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64205363/