如何确定从其他对象创建的Pandas DataFrame的列和索引

时间:2017-07-21 08:10:03

标签: python pandas

当我们从其他对象创建一个新的数据帧时,比如dict的dict或list的dict,我们怎么知道哪些标签是列或索引。

dd = {'one': {'a': 1.0, 'b': 2.0, 'c': 3.0, 'd': 4.0},
     'two': {'a': 4.0, 'b': 3.0, 'c': 2.0, 'd': 1.0}}
ld = [{'a': 1, 'b': 2}, {'a': 5, 'b': 10, 'c': 20}]

pd1 = pd.DataFrame(dd)
# pd1:
#    one  two
# a  1.0  4.0
# b  2.0  3.0
# c  3.0  2.0
# d  4.0  1.0

pd2 = pd.DataFrame(ld)
# pd2:
#    a   b     c
# 0  1   2   NaN
# 1  5  10  20.0

为什么abc是pd1中的索引,但是pd2中的列?

据我所知,外部标签是列,内部级别是索引(如果存在)。因此,one中的外部标签twodd用作pd1中的列和内部标签abc和{ {1}}用作索引。但是,dab用作列,因为它们位于ld中的标签之外。

我不知道这种理解是否正确。是否有反对它的反例或关于在创建数据帧时决定列和索引的任何更好的解释?

0 个答案:

没有答案