2017-07-30 61 views
1

我擁有熊貓數據框的數據。訪問數據幀的名稱

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

它返回的數據像這樣

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

我可以訪問3.25000row['Data'],但是row['Name']不可用。如何訪問2000-01-03 00:00:00 ???

我已經使用數據框與index

Name的含義與index相同???

回答

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') 

indexreset_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') 
+0

非常感謝,我需要再次閱讀熊貓的參考。你的例子非常有幫助! – whitebear

+0

@whitebear - 很高興能提供幫助。美好的一天! – jezrael