【问题标题】:Splitting a column with multiple values in python在python中拆分具有多个值的列
【发布时间】:2018-08-26 22:15:56
【问题描述】:

我正在尝试在 python 的数据框中拆分一列。 看起来是这样的

col_name
UO1
UO1,UO2,UO3
UO1,UO2,UO3,UO4,UO5
UO1,SO1,SO3
SO3,UO1

我不确定如何将它们拆分为行值。我是 python 编程新手

【问题讨论】:

  • 最终的数据框应该是什么样子的?
  • 此列是患者出现的不同症状的列表。由于患者可能出现多种症状。我在想是否有可能从列中为各​​个患者显示多个值?我不确定,但我在想这样的事情 - id 症状 1 UO1 2 UO1 2 UO2 2 UO3

标签: python-3.x pandas data-analysis data-science


【解决方案1】:

试试

df['id'] = df.index+1
df.set_index('id').col_name.str.split(',', expand = True).stack().reset_index(1, drop = True).reset_index(name = 'symptoms')


    id  symptoms
0   1   UO1
1   2   UO1
2   2   UO2
3   2   UO3
4   3   UO1
5   3   UO2
6   3   UO3
7   3   UO4
8   3   UO5
9   4   UO1
10  4   SO1
11  4   SO3
12  5   SO3
13  5   UO1

【讨论】:

  • 感谢 Vaishali,对代码稍作修改也尝试了同样的方法。我猜我做错了什么。
  • 你尝试了哪些修改?
猜你喜欢
  • 1970-01-01
  • 2019-11-25
  • 2012-05-10
  • 1970-01-01
  • 1970-01-01
  • 2021-11-08
  • 1970-01-01
  • 2020-12-21
  • 1970-01-01
相关资源
最近更新 更多