gpt4 book ai didi

python - 从字典列表创建 Pandas 数据框,字典键作为列

转载 作者:太空宇宙 更新时间:2023-11-04 08:39:20 25 4
gpt4 key购买 nike

不确定标题是否足够解释。

我有一个字典列表,我想从中创建一个数据框。为简单起见,列表是:

list=[]

DIC1={'value': 69.0, 'time': 10, 'from': 'Mexico', 'signal_name': 'Part1'}
DIC2={'value': 65.0, 'time': 10, 'from': 'Mexico', 'signal_name': 'Part2'}
DIC3={'value': 60.0, 'time': 11, 'from': 'Mexico', 'signal_name': 'Part1'}
DIC4={'value': 67.0, 'time': 10, 'from': 'Mexico', 'signal_name': 'Part3'}
DIC5={'value': 69.0, 'time': 11, 'from': 'Mexico', 'signal_name': 'Part2'}
DIC6={'value': 70.0, 'time': 12, 'from': 'Mexico', 'signal_name': 'Part1'}
DIC7={'value': 68.0, 'time': 12, 'from': 'Mexico', 'signal_name': 'Part2'}
DIC8={'value': 71.0, 'time': 11, 'from': 'Mexico', 'signal_name': 'Part3'}
DIC9={'value': 50.0, 'time': 12, 'from': 'Mexico', 'signal_name': 'Part3'}

list=[DIC1,DIC2,DIC3,DIC4,DIC5,DIC6,DIC7,DIC8,DIC9]
#Convert to Dataframe
df=pd.DataFrame(list)

如果我像上面的例子一样简单地将字典列表转换为数据框,我会得到一个像这样的数据框:

    from    signal_name time    value
0 Mexico Part1 10 69.0
1 Mexico Part2 10 65.0
2 Mexico Part1 11 60.0
3 Mexico Part3 10 67.0
4 Mexico Part2 11 69.0
5 Mexico Part1 12 70.0
6 Mexico Part2 12 68.0
7 Mexico Part3 11 71.0
8 Mexico Part3 12 50.0

但我正在尝试获取过滤表,我猜是一种数据透视表?像这样的东西:

    time    from    part1(value)    part2(value)    part3(value)
0 10 Mexico 69.0 65.0 67.0
1 11 Mexico 60.0 69.0 71.0
2 12 Mexico 70.0 68.0 50.0

这可能吗?

最佳答案

借助数据透视表

df.pivot_table(index=['from','time'],columns=['signal_name'],values=['value']).reset_index()

输出:

               from time value            signal_name              Part1 Part2 Part30            Mexico   10  69.0  65.0  67.01            Mexico   11  60.0  69.0  71.02            Mexico   12  70.0  68.0  50.0

If you dont want value as separate header then pass values parameter as a string i.e

df.pivot_table(index=['from','time'],columns=['signal_name'],values='value').reset_index()
signal_name    from  time  Part1  Part2  Part30            Mexico    10   69.0   65.0   67.01            Mexico    11   60.0   69.0   71.02            Mexico    12   70.0   68.0   50.0

关于python - 从字典列表创建 Pandas 数据框,字典键作为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46002957/

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