gpt4 book ai didi

python - 如何将Python DataFrame中的单列数据转换为多列?

转载 作者:行者123 更新时间:2023-12-01 22:57:51 24 4
gpt4 key购买 nike

我有一个数据框(df),其列col1有很多行,并且有一些行具有公共(public)字符串(数字集合是)并以不同的数字结尾(001, 002, 005)。我想提取两个字符串之间的行(数字集合是 002数字集合是 003)并将它们分配给具有相同行名称的新列(数字集合是002)

    col1
0 Collection of numbers are 002
1 53
2 20
3 56
4 Collection of numbers are 003
5 236
6 325
7 Collection of numbers are 005
8 96
9 23
10 63

我想将上面的数据框转换为以下格式。

0   Collection of numbers are 002   Collection of numbers are 003   Collection of numbers are 005
1 53 236 96
2 20 325 23
3 56 63

注意:不要有重复的数字

最佳答案

我们可以尝试使用 ffill 和一些基本的形状 reshape ,使用 str.split

df['headers'] = df['col1'].str.extract('(Collection.*)').ffill()


df1 = df[~df['col1'].str.contains('Collection')].copy()


df1.groupby('headers').agg(','.join)['col1'].str.split(',',expand=True).T.rename_axis('',axis='columns')

输出:

  Collection of numbers are 002 Collection of numbers are 003  \
0 53 236
1 20 325
2 56 None

Collection of numbers are 005
0 96
1 23
2 63

关于python - 如何将Python DataFrame中的单列数据转换为多列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61252959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com