从字典列表创建DataFrame而不复制索引

时间:2020-08-28 11:46:17

标签: python pandas dataframe

我想使用词典列表创建一个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时,应该引发异常。

0 个答案:

没有答案