python - 如何在不知道 Python 中将生成多少列的情况下拆分列?

标签 python dataframe split

我有一个包含数千行的数据框:

 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/

相关文章:

python - 在 PyQT4 中使用 QTreeWidgetItemIterator 以字典形式从 QTreeWidget 返回 isChecked(或...某物)

python - 如何用 pandas 将数据帧向前填充四次

python - 提取列表中每 m 行的 n 行

Java 分割命令行参数

python - 无法保存python脚本文件

python - 迭代 Pickle 文件中的多个字典

java - 在没有 Spark 控制台的情况下使用 Apache Spark MLib 库

r - 根据 R 数据框中的变量填充 N 个滞后

python - Pandas 拆解专栏

Java Csv-data 字符串空间分割错误