根据另一个d中每行的分隔值创建df

2024-05-15 01:48:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望从给定数据帧中的每一行创建一个新的数据帧。 行中的值是逗号分隔的字符串

例如,输入

COLUMN_1               COLUMN_2                      COLUMN_3
"Marvel"               "Hulk, Thor, Ironman"         "1,7,8"
"DC"                   "Spiderman, Batman, Flash"    "18, 74, 88"

期望输出

COLUMN_1     COLUMN_2
Hulk                1
Thor                7
Ironman             8


COLUMN_1     COLUMN_2
Spiderman          18
Batman             74
Flash              88

谢谢


Tags: 数据字符串columndcmarvelflashthor逗号
1条回答
网友
1楼 · 发布于 2024-05-15 01:48:41

您可以将groupbystr.split一起使用,并创建所需的目标df

for x , y in df.groupby('COLUMN_1'):
    s=pd.DataFrame({'COLUMN_1':y.COLUMN_2.str.split(', ').iloc[0],'COLUMN_2':y.COLUMN_3.str.split(',').iloc[0]})
    print(s)
    COLUMN_1 COLUMN_2
0  Spiderman       18
1     Batman       74
2      Flash       88
  COLUMN_1 COLUMN_2
0     Hulk        1
1     Thor        7
2  Ironman        8

我们还可以将数据存储到dict中

d={x:pd.DataFrame({'COLUMN_1': y.COLUMN_2.str.split(', ').iloc[0], 'COLUMN_2': y.COLUMN_3.str.split(',').iloc[0]})  for x, y in df.groupby('COLUMN_1')}
d
Out[412]: 
{'DC':     COLUMN_1 COLUMN_2
 0  Spiderman       18
 1     Batman       74
 2      Flash       88, 'Marvel':   COLUMN_1 COLUMN_2
 0     Hulk        1
 1     Thor        7
 2  Ironman        8}

相关问题 更多 >

    热门问题