使用整数索引更改Pandas DataFrame

时间:2017-09-30 15:46:46

标签: pandas

我已将Python dict转换为pandas dataframe:

dict = {
         u'erterreherh': 
                  {
                    u'account': u'rgrgrgrg',
                    u'data': u'192.168.1.1', 

                  }, 
         u'hkghkghkghk': 
                 {
                   u'account': u'uououopuopuop', 
                   u'data': '192.168.1.170', 
                 }, 
        }

df = pd.DataFrame.from_dict(dict, orient='index')



account data
aa      bbss
zz      sssss
vv      sss

“帐户”是此处的索引。我想像下面的数据帧,我该怎么做?

    account data
   0   aa      bbss
   1   zz      sssss
   2   vv      ss

2 个答案:

答案 0 :(得分:1)

更改索引名称需要rename_axis,最后reset_index

d = {
         u'erterreherh': 
                  {
                    u'account': u'rgrgrgrg',
                    u'data': u'192.168.1.1'

                  }, 
         u'hkghkghkghk': 
                 {
                   u'account': u'uououopuopuop', 
                   u'data': '192.168.1.170' 
                 } 
        }

df = pd.DataFrame.from_dict(d, orient='index')
df = df.rename_axis('acount1').reset_index()
print (df)
       acount1           data        account
0  erterreherh    192.168.1.1       rgrgrgrg
1  hkghkghkghk  192.168.1.170  uououopuopuop

如果需要使用account的值覆盖列index

df = df.assign(account=df.index).reset_index(drop=True)
print (df)
            data      account
0    192.168.1.1  erterreherh
1  192.168.1.170  hkghkghkghk

答案 1 :(得分:0)

df.reset_index()确实在为我工作。

df 
          data
account       
aa        bbss
zz       sssss
vv         sss
df = df.reset_index()
  account   data
0      aa   bbss
1      zz  sssss
2      vv    sss