我有一个包含两个键的字典列表。第一个键是共享索引,第二个键是列名。我想将这个列表转换为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
有什么想法吗?谢谢!
df[df['col_a'].notnull()].fillna(df[df['col_b'].notnull()])
,但在实际情况下可能不起作用。 - Ben.Tcol_x;value(idx)
不止一次出现?如果是这样,代码应该返回什么? - Mr. T