访问数据框

时间:2017-07-30 04:23:04

标签: python dataframe

我有pandas dataframe的数据。

for i,row in stock.iterrows():
  pprint(row)

它返回这样的数据

Data             3.25000
Name: 2000-01-03 00:00:00, dtype: float64

我可以3.25000访问row['Data'],但row['Name']不可用。

如何访问2000-01-03 00:00:00 ???

我已将数据框与index一起使用。

Nameindex ???

相同

1 个答案:

答案 0 :(得分:2)

我认为Name是索引名称。

索引值需要i

for i,row in stock.iterrows():
    pprint(row)
    #index
    pprint(i)

样品:

stock = pd.DataFrame({'Data':[3.5, 5.6]}, index=pd.date_range('2000-01-03', periods=2))
stock.index.name = 'Name'
print (stock)
            Data
Name            
2000-01-03   3.5
2000-01-04   5.6

print (stock.index.name)
Name

print (stock.index)
DatetimeIndex(['2000-01-03', '2000-01-04'], dtype='datetime64[ns]', name='Name', freq='D')

for i,row in stock.iterrows():
    pprint(row)
    #index
    pprint(i)

Data    3.5
Name: 2000-01-03 00:00:00, dtype: float64
Timestamp('2000-01-03 00:00:00', freq='D')
Data    5.6
Name: 2000-01-04 00:00:00, dtype: float64
Timestamp('2000-01-04 00:00:00', freq='D')

index名称在reset_index之后转换为列名:

stock = stock.reset_index()
print (stock)
        Name  Data
0 2000-01-03   3.5
1 2000-01-04   5.6

print (stock.index.name)
None

print (stock.index)
RangeIndex(start=0, stop=2, step=1)

print (stock.columns)
Index(['Name', 'Data'], dtype='object')