pandas怎么取dataframe中一个具体的值

请教,想取dataframe中一个具体的值,但是返回的是一个dataframe对象,怎么才能取到下图中圈的那个具体的数字呢,只需要具体的数字就行了。谢谢

clipboard.png

阅读 19.8k
1 个回答
  1. 可以使用df.loc或者df.at指定横纵标签取值
  2. 可以使用df.iloc指定横纵排序数取值

示例如下:

In [1]: import pandas as pd

In [2]: import numpy as np

In [3]: dates = pd.date_range('20130101',periods=6)

In [4]: dates
Out[4]:
DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', 
'2013-01-04','2013-01-05', '2013-01-06'],
              dtype='datetime64[ns]', freq='D')

In [5]: df = pd.DataFrame(np.random.randn(6,4),
index=dates,columns=list('ABCD'))

In [6]: df
Out[6]:
                   A         B         C         D
2013-01-01 -1.556932  1.410173  0.576496  0.584934
2013-01-02  0.271514 -1.017405  1.451405  0.367166
2013-01-03  0.173440 -0.285422  0.036510  1.698372
2013-01-04 -0.061961 -0.511390 -1.440939  1.134795
2013-01-05 -0.158746  1.126869  0.547582 -2.056976
2013-01-06  0.817269 -0.064699 -0.389989 -0.251377

In [7]: dates[0]
Out[7]: Timestamp('2013-01-01 00:00:00', freq='D')

# 行标签为 dates[0] 列标签为  ‘B’
In [11]: df.at[dates[0],'B']
Out[11]: 1.4101730698116766

# 行标签为 dates[0] 列标签为  ‘A’
In [12]: df.loc[dates[0],'A']
Out[12]: -1.556932174858093

# 1行1列数值 (0为起始值)
In [13]: df.iloc[1,1]
Out[13]: -1.0174052514807
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题