如何在python中使用pandas执行字符串替换操作?

2024-04-20 14:13:33 发布

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

我有一个数据框,其中Items列是一个列表。你知道吗

cust_id   Items
100     ['item1','item2','item3']
101     ['item5','item8','item9']
102     ['item2','item4']

我想把上面的数据帧转换成下面的格式。你知道吗

cust_id  Items
100     item1 item2 item3
101     item5 item8 item9
102     item2 item4

我尝试使用pandas内置的string replace函数返回原始列,但没有实际执行string replace操作。你知道吗

df['Items']=(df['Items'].astype(str)).replace({"['":"", "', '":" ", "']":"" },method='string')

请告知

更新:

我使用下面的代码创建了原始的数据帧。你知道吗

df=df1.groupby(['cust_id'])['Items'].apply(list).reset_index()

Tags: 数据iddf列表stringitemsreplaceitem1
1条回答
网友
1楼 · 发布于 2024-04-20 14:13:33

如果元素真的是list,那么可以在列表上使用str.join()series.apply方法。示例-

In [159]: df = pd.DataFrame([[100,['item1','item2','item3']],[101,['item5','item8','item9']],[102,['item2','item4']]],columns=['cust_id','Items'])

In [160]: df
Out[160]:
   cust_id                  Items
0      100  [item1, item2, item3]
1      101  [item5, item8, item9]
2      102         [item2, item4]

In [161]: df['Items'] = df['Items'].apply(' '.join)

In [162]: df
Out[162]:
   cust_id                Items
0      100    item1 item2 item3
1      101    item5 item8 item9
2      102          item2 item4

相关问题 更多 >