我想使用词典列表创建一个DataFrame
。其中一个键(timestamp
)在所有这些字典中共享,并且应该是唯一索引,而其他键可以更改,并且应该是列:
full = [
{'timestamp': 123, 'apples':1, 'oranges':1},
{'timestamp': 227, 'apples':2, 'oranges':2},
{'timestamp': 123, 'bananas':3, 'pears':3},
{'timestamp': 123, 'mangos':4, 'avocados':4}]
现在,我正在获取具有重复索引的行。
pd.DataFrame(full)
timestamp apples oranges bananas pears mangos avocados
0 123 1.0 1.0 NaN NaN NaN NaN
1 227 2.0 2.0 NaN NaN NaN NaN
2 123 NaN NaN 3.0 3.0 NaN NaN
3 123 NaN NaN NaN NaN 4.0 4.0
如您所见,即使timestamp
的值相同,我也有重复的索引。
我该怎么办呢?
timestamp apples oranges bananas pears mangos avocados
0 123 1.0 1.0 3.0 3.0 4.0 4.0
1 227 2.0 2.0 NaN NaN NaN NaN
在索引不唯一时引发异常
此外,我想确保同一索引没有重叠的值。例如:
full = [
{'timestamp': 123, 'apples':1, 'oranges':1},
{'timestamp': 227, 'apples':2, 'oranges':2},
{'timestamp': 123, 'bananas':3, 'pears':3},
{'timestamp': 123, 'bananas':4, 'avocados':4}] # This row should create issues
上面摘录的最后两行都包含bananas
列的(不同)值,其时间戳为123
(索引)。这不应该发生,并且理想情况下,当我尝试创建如上所述的DataFrame时,应该引发异常。