【问题标题】:Preferred Pandas solution to collapsing rows of comma-delimited data of varying length into single column [duplicate]将不同长度的逗号分隔数据行折叠成单列的首选 Pandas 解决方案 [重复]
【发布时间】:2020-05-15 13:01:29
【问题描述】:

假设我有一个数据框df,格式为:

| a,b,c,d |
|  e,f,g  |
|   h     |

但是,使用逗号分隔符,希望将值折叠到单列数据框中,例如:

| a |
| b |
| c |
| d |
| e |
| f |
| g |
| h |

在 Python 中解决这个问题的最 Pythonic/Pandas 首选的解决方案是什么?

【问题讨论】:

  • df.assign(col=df['col'].str.split(',')).explode('col')

标签: python pandas


【解决方案1】:

你应该使用.explode():

df['col_1'] = df['col_1'].str.split(',')
df = df.explode('col_1')

【讨论】:

    【解决方案2】:

    如果是size=(3,4)的data-frame,下面这行可以解决

    pd.DataFrame(df.values.reshape(-1,1))
    

    【讨论】:

      【解决方案3】:

      我想出的解决方案涉及遍历数据框的行:

      new_list = []
      
      for indx, row in table.iterrows():
        new_list += row[0].split(',')
      
      new_df = pd.DataFrame(new_list)
      

      【讨论】:

        猜你喜欢
        • 2021-11-20
        • 2018-02-03
        • 1970-01-01
        • 2022-01-21
        • 1970-01-01
        • 2022-01-21
        • 1970-01-01
        • 1970-01-01
        • 2014-08-22
        相关资源
        最近更新 更多