私はPythonとデータサイエンスにかなり慣れています。私はkaggle Outbrainコンペティションに取り組んでおり、コードで参照されているすべてのデータセットは https:// www .kaggle.com/c/outbrain-click-prediction/data 。
問題について:列_['document_id', 'category_id', 'confidence_level']
_を持つデータフレームがあります。行の_'max_cat'
_の最大の_'category_id'
_値に対応する_'confidence_level'
_値を返す4番目の列_'document_id'
_を追加したいと思います。
_import pandas as pd
import numpy
main_folder = r'...filepath\data_location' + '\\'
docs_meta = pd.read_csv(main_folder + 'documents_meta.csv\documents_meta.csv',nrows=1000)
docs_categories = pd.read_csv(main_folder + 'documents_categories.csv\documents_categories.csv',nrows=1000)
docs_entities = pd.read_csv(main_folder + 'documents_entities.csv\documents_entities.csv',nrows=1000)
docs_topics = pd.read_csv(main_folder + 'documents_topics.csv\documents_topics.csv',nrows=1000)
def find_max(row,the_df,groupby_col,value_col,target_col):
return the_df[the_df[groupby_col]==row[groupby_col]].loc[the_df[value_col].idxmax()][target_col]
test = docs_categories.copy()
test['max_cat'] = test.apply(lambda x: find_max(x,test,'document_id','confidence_level','category_id'))
_
これは私にエラーを与えます:KeyError: ('document_id', 'occurred at index document_id')
このエラーが発生した理由、またはより効率的な方法で目標を達成する方法を説明できますか?
ありがとう!