我有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
一起使用。
Name
与index
???
答案 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')