gpt4 book ai didi

python - 通过逗号和枢轴解析数据框列 - python

转载 作者:太空狗 更新时间:2023-10-30 02:37:14 25 4
gpt4 key购买 nike

我正在尝试通过逗号解析出一列(同时去除空格),然后将所有起点/终点组合旋转到新行中。这是数据示例:

Origin     Destination     Weight
PVG AMS, FRA 10,000
CAN, XMN LAX, ORD 25,000

我在使用 pd.read_clipboard 复制上面的数据帧时遇到问题,所以这里是数据帧代码:

df = pd.DataFrame({'Origin': ['PVG', 'CAN, XMN'], 
'Destination': ['AMS, FRA', 'LAX, ORD'],
'Weight': [10000, 25000]})

期望的输出是:

Origin     Destination     Weight
PVG AMS 10,000
PVG FRA 10,000
CAN LAX 25,000
CAN ORD 25,000
XMN LAX 25,000
XMN ORD 25,000

我一直在尝试使用:

df['Origin'].str.split(',', expand = True)

我曾尝试对起点和终点都这样做,这适用于将字符串解析为单独的列。我正在努力将所有可​​能的组合创建到单独的行中(我尝试使用 pivot_table 并且没有运气 melt )。

最佳答案

使用itertools.product使用list comprehenion,仅首先使用applymap 创建列表:

from  itertools import product

df1 = df.applymap(lambda x: x.split(', ') if isinstance (x, str) else [x])
df2 = pd.DataFrame([j for i in df1.values for j in product(*i)], columns=df.columns)
print (df2)
Origin Destination Weight
0 PVG AMS 10000
1 PVG FRA 10000
2 CAN LAX 25000
3 CAN ORD 25000
4 XMN LAX 25000
5 XMN ORD 25000

关于python - 通过逗号和枢轴解析数据框列 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50789834/

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