【问题标题】:split strings from a column in separate columns从单独列中的列中拆分字符串
【发布时间】:2020-10-05 00:18:05
【问题描述】:

我正在尝试从列中拆分字符串值,列中的列数与每行中的字符串数一样多。 我正在创建一个包含三列的新数据框,并且我在第三列中有字符串值,我想拆分为新列(已经有标题)但是用分号分隔的字符串的数量在每一行中是不同的 如果我使用此代码:

df['string']= df['string'].str.split(';', expand=True)

那么我将在列中只留下一个值,而其余的字符串值不会被拆分而是消除。

你建议如何修改这行代码以获得正确的输出? 非常感谢提前

【问题讨论】:

  • 您能提供示例数据和预期输出吗?你的描述太模糊了。例如您的字符串是否总是分成相同数量的标记?如果没有,应该保留多少?为什么示例代码不符合预期?

标签: python pandas split


【解决方案1】:

您可以将拆分的结果与原始DataFrame进行连接,而不是覆盖原始列

df = pd.DataFrame({'my_string':['car;war;bus','school;college']})
df = df.join(df['my_string'].str.split(';',expand=True))
print(df)
        my_string       0        1     2
0     car;war;bus     car      war   bus
1  school;college  school  college  None

【讨论】:

    【解决方案2】:

    然后我们做

    df['string']= df['string'].str.split(';', expand=True).str[0]
    

    【讨论】:

      猜你喜欢
      • 2020-06-10
      • 1970-01-01
      • 2012-11-26
      相关资源
      最近更新 更多