来自read_json()的pandas数据帧的时间戳索引

lat*_*arf 3 python json timestamp pandas

我正在使用以下内容从文件data.json中读取一条JSON行:

[
  {
    "timestamp": 1436266865,
    "rates": {
      "EUR": 0.911228,
      "JPY": 122.5463,
      "AUD": 1.346118
    }
  },
  {
    "timestamp": 1436277661,
    "rates": {
      "JPY": 122.4789,
      "AUD": 1.348871,
      "EUR": 0.91433
    }
  }
]
Run Code Online (Sandbox Code Playgroud)

进入熊猫DataFrame.我想使用"timestamp"作为DataFrame的索引.我实现了这个目标:

df = pandas.read_json('data.json')
df.index = df['timestamp']
df.drop('timestamp', axis=1, inplace=1)
Run Code Online (Sandbox Code Playgroud)

是否可以在一行中完成?

Leb*_*Leb 7

import pandas as pd

df = pd.read_json('data.json')
df.set_index('timestamp',inplace=True)
print(df)
Run Code Online (Sandbox Code Playgroud)

这将做什么设置timestamp为您的索引.inplace=True将阻止你必须这样做df=df.set_index('timestamp'),默认情况下它会删除列.

                                                        rates
timestamp                                                    
1436266865  {'EUR': 0.9112279999999999, 'JPY': 122.5463, '...
1436277661  {'JPY': 122.4789, 'AUD': 1.348871, 'EUR': 0.91...
Run Code Online (Sandbox Code Playgroud)