我有一個df帶有'model'用于 groupby的列的 pd 資料框:
df = df.groupby(['model']).mean()
現在,我想對結果執行 lambda 操作df:
df['num_topics'] = df['model'].apply(lambda x: x.split('-')[1])
但是,當我運行它時,出現以下錯誤:
Traceback (most recent call last):
File "<ipython-input-898-2f5c4b35d5ba>", line 1, in <module>
df = full_df.create_effect_num_topics()
File "<ipython-input-896-6ace6e90c7d0>", line 28, in create_effect_num_topics
df['num_topics'] = df['model'].apply(lambda x: x.split('-')[1])
File "C:\Users\20200016\Anaconda3\lib\site-packages\pandas\core\frame.py", line 3458, in __getitem__
indexer = self.columns.get_loc(key)
File "C:\Users\20200016\Anaconda3\lib\site-packages\pandas\core\indexes\base.py", line 3363, in get_loc
raise KeyError(key) from err
KeyError: 'model'
現在似乎model是索引,不再是可編輯的單元格。我怎樣才能使它再次成為常規列,以便我可以將它用于 lambda 運算式?
uj5u.com熱心網友回復:
您可以使用它來重置資料框中的索引/級別
df = df.groupby(['model']).mean().reset_index()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/371458.html
標籤:Python 熊猫 拉姆达 pandas-groupby
上一篇:計算列值的出現次數,然后將該計數輸入到列中,對于匹配聚合列值的每一行:
下一篇:過濾熊貓資料框-頂部和底部N行
