首页 > 解决方案 > groupby 后无法访问数据框列

问题描述

import pandas as pd

df_prices = pd.read_csv('data/prices.csv', delimiter = ',')


# sample data from prices.csv 
# date,symbol,open,close,low,high,volume
# 2010-01-04,PCLN,222.320007,223.960007,221.580002,225.300003,863200.0
# 2010-01-04,PDCO,29.459999,28.809999,28.65,29.459999,1519900.0
# 2010-01-04,PEG,33.139999,33.630001,32.889999,33.639999,5130400.0
# 2010-01-04,PEP,61.189999,61.240002,60.639999,61.52,6585900.0
# 2010-01-04,PFE,18.27,18.93,18.24,18.940001,52086000.0
# 2010-01-04,PFG,24.110001,25.0,24.1,25.030001,3470900.0
# 2010-01-04,PG,61.110001,61.119999,60.630001,61.310001,9190800.0


df_latest_prices = df_prices.groupby('symbol').last()

df_latest_prices.iloc[115]

# date      2014-02-07
# open           54.26
# close          55.28
# low            53.63
# high           55.45
# volume    3.8587e+06
# Name: CTXS, dtype: object

df_latest_prices.iloc[115].volume

# 3858700.0

df_latest_prices.iloc[115].Name

# ---------------------------------------------------------------------------
# AttributeError                            Traceback (most recent call last)
# <ipython-input-8-6385f0b6e014> in <module>
# ----> 1 df_latest_prices.iloc[115].Name

我有一个名为“df_latest_prices”的数据框,它是通过对另一个数据框执行 groupby 获得的。如上所示,我可以访问 df_latest_prices 的列,但我无法访问 groupby 列中使用的列(即“符号”)

我该怎么做才能从此 Dataframe 的特定行中获取“符号”?

标签: pythonpandaspandas-groupby

解决方案


使用name属性:

df_latest_prices.iloc[115].name

样品

s = pd.Series([1,2,3], name='CTXS')

print (s.name)
CTXS

推荐阅读