gpt4 book ai didi

python - 字典列表中的重复索引 Python Pandas

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

我有一个包含两个键的字典列表。第一个键是共享索引,第二个键是列名。我想将此列表转换为 Pandas DataFrame 对象。但是当我这样做时,我会得到重复的索引行,其中每一行都有一列是空白的。

使用这段代码:

import pandas as pd
l = [{'col_a': 0, 'idx': 0},
{'col_b': 5, 'idx': 0},
{'col_a': 1, 'idx': 1},
{'col_b': 6, 'idx': 1},
{'col_a': 2, 'idx': 2},
{'col_b': 7, 'idx': 2},
{'col_a': 3, 'idx': 3},
{'col_b': 8, 'idx': 3},
{'col_a': 4, 'idx': 4},
{'col_b': 9, 'idx': 4}]

df = pd.DataFrame(l)
df = df.set_index('idx')

我明白了

     col_a  col_b
idx
0 0.0 NaN
0 NaN 5.0
1 1.0 NaN
1 NaN 6.0
2 2.0 NaN
2 NaN 7.0
3 3.0 NaN
3 NaN 8.0
4 4.0 NaN
4 NaN 9.0

但是我想要这个

         col_a  col_b
idx
0 0.0 5.0
1 1.0 6.0
2 2.0 7.0
3 3.0 8.0
4 4.0 9.0

有什么想法吗?谢谢!

最佳答案

你可以在 idx 上分组并取 .first():

In [10]: df
Out[10]:
col_a col_b idx
0 0.0 NaN 0
1 NaN 5.0 0
2 1.0 NaN 1
3 NaN 6.0 1
4 2.0 NaN 2
5 NaN 7.0 2
6 3.0 NaN 3
7 NaN 8.0 3
8 4.0 NaN 4
9 NaN 9.0 4

In [11]: df.groupby("idx").first()
Out[11]:
col_a col_b
idx
0 0.0 5.0
1 1.0 6.0
2 2.0 7.0
3 3.0 8.0
4 4.0 9.0

或者调用pivot_table:

In [36]: df.pivot_table(index="idx")
Out[36]:
col_a col_b
idx
0 0.0 5.0
1 1.0 6.0
2 2.0 7.0
3 3.0 8.0
4 4.0 9.0

关于python - 字典列表中的重复索引 Python Pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50819675/

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