Python 为什么可以';在使用apply之后,我是否使用loc访问数据帧上的元素?
我想按我设置的ID列对数据集进行分组。 因此,我: df_grouped=df_grouped.groupby(by='groupID').apply(创建ohlc) 创建ohlc的步骤如下:Python 为什么可以';在使用apply之后,我是否使用loc访问数据帧上的元素?,python,dataframe,apply,series,Python,Dataframe,Apply,Series,我想按我设置的ID列对数据集进行分组。 因此,我: df_grouped=df_grouped.groupby(by='groupID').apply(创建ohlc) 创建ohlc的步骤如下: def create_ohlc(data): data['open'] = data.loc[0, 'price'] data['high'] =data.loc[:, 'price'].max() data['low'] = data.loc[:, 'price'].min()
def create_ohlc(data):
data['open'] = data.loc[0, 'price']
data['high'] =data.loc[:, 'price'].max()
data['low'] = data.loc[:, 'price'].min()
data['close'] = data.loc[-1, 'price']
return data
我可以这样做来修复它:
def创建_ohlc(数据):
数据['open']=data.loc[data.index[0],'price']
数据['high']=data.loc[:,'price'].max()
data['low']=data.loc[:,'price'].min()
数据['close']=data.loc[data.index[-1],'price']
返回数据
但我还是不明白发生了什么。
这需要一点时间来完成。有什么问题吗?这是因为
loc
通过标签获取行。
另一方面,iloc
通过索引获取行
另请参见如果要结合使用整数索引和标签索引,最好使用整数索引并获取标签的索引
data['open'] = data.iloc[0, data.columns.get_loc('price')]