追加后更改数据帧索引

时间:2019-02-03 16:48:20

标签: python pandas dataframe

为什么在python中附加了另一个数据框后,一个数据框的索引为什么会变成元组?

import pandas as pd
data = {'birds': ['Cranes', 'Cranes', 'plovers', 'spoonbills', 
'spoonbills', 'Cranes', 'plovers', 'Cranes', 'spoonbills', 
'spoonbills'], 'age': [3.5, 4, 1.5, 'nan', 6, 3, 5.5, 'nan', 8, 4], ' 
 visits': [2, 4, 3, 4, 3, 4, 2, 2, 3, 2], 'priority': ['yes', 'yes', 
'no', 'yes', 'no', 'no', 'no', 'yes', 'no', 'no']}

labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']

df = pd.DataFrame(data,index=[(labels)])
mylist={'birds' :'penguin', 'age':'3' , 'visits' : 22,'priority':'yes'}
newdf=pd.DataFrame(mylist,index=['k'])
df=df.append(newdf)
df

1 个答案:

答案 0 :(得分:0)

您在创建数据框时已选择将多索引作为元组作为数据框

df = pd.DataFrame(data,index=[(labels)])

df.index

MultiIndex(levels = [['a','b','c','d','e','f','g','h','i','j']] ,            标签= [[0、1、2、3、4、5、6、7、8、9]])

如果您不需要多索引元组索引,则可以通过直接分配索引列表将其关闭

import pandas as pd
data = {'birds': ['Cranes', 'Cranes', 'plovers', 'spoonbills', 'spoonbills', 'Cranes', 'plovers', 'Cranes', 'spoonbills', 'spoonbills'], 
        'age': [3.5, 4, 1.5, 'nan', 6, 3, 5.5, 'nan', 8, 4], 
        'visits': [2, 4, 3, 4, 3, 4, 2, 2, 3, 2], 
        'priority': ['yes', 'yes', 'no', 'yes', 'no', 'no', 'no', 'yes', 'no', 'no']}

labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']

df = pd.DataFrame(data,index=labels)
mylist={'birds' :'penguin', 'age':'3' , 'visits' : 22,'priority':'yes'}
newdf=pd.DataFrame(mylist,index=['k'])
df.append(newdf)

出局:

    age birds   priority    visits
a   3.5 Cranes  yes 2
b   4   Cranes  yes 4
c   1.5 plovers no  3
d   nan spoonbills  yes 4
e   6   spoonbills  no  3
f   3   Cranes  no  4
g   5.5 plovers no  2
h   nan Cranes  yes 2
i   8   spoonbills  no  3
j   4   spoonbills  no  2
k   3   penguin yes 22