gpt4 book ai didi

python - 将两个不同数据帧的列强制为相同的数据类型

转载 作者:太空宇宙 更新时间:2023-11-03 14:56:36 24 4
gpt4 key购买 nike

我有两个结构如下的数据框:

print(product_combos1.head(n=5))
product_id count Length
0 (P06, P09) 36340 2
1 (P01, P05, P06, P09) 10085 4
2 (P01, P06) 36337 2
3 (P01, P09) 49897 2
4 (P02, P09) 11573 2

print(testing_df.head(n=5))
product_id Length
transaction_id
001 [P01] 1
002 [P01, P02] 2
003 [P01, P02, P09] 3
004 [P01, P03] 2
005 [P01, P03, P05] 3

如何强制 testing_df 的“product_id”列,使其与 product_combos1 df 中的列格式相同? (即 - 在括号中而不是方括号中)

最佳答案

Python 元组显示在括号中。列表显示在括号中。

更改数据框

testing_df['product_id'] = testing_df['product_id'].apply(tuple)
testing_df

product_id Length
transaction_id
1 (P01,) 1
2 (P01, P02) 2
3 (P01, P02, P09) 3
4 (P01, P03) 2
5 (P01, P03, P05) 3

制作副本

testing_df.assign(product_id=testing_df.product_id.apply(tuple))

product_id Length
transaction_id
1 (P01,) 1
2 (P01, P02) 2
3 (P01, P02, P09) 3
4 (P01, P03) 2
5 (P01, P03, P05) 3
<小时/>

当然,除非这些实际上是字符串。然后只需将方括号替换为圆括号即可。

testing_df.assign(product_id=testing_df.product_id.str.replace('\[(.*)\]', r'(\1)'))

product_id Length
transaction_id
1 (P01) 1
2 (P01, P02) 2
3 (P01, P02, P09) 3
4 (P01, P03) 2
5 (P01, P03, P05) 3

关于python - 将两个不同数据帧的列强制为相同的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45516833/

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