[英]Python Pivot Table KeyError
我有一個 pivot 表,我希望從中獲取值並將其添加到單獨數據框的新列中。 我想在新的Z6A8064B5DF479455555555555555555555555057DZ上添加“發行”值調用音高類型。
為了獲得 pivot 表,我使用了: pitcher_avg = pitcher_avg.pivot_table(index = ['PitcherID'], columns = ['PitchType'], values = ['ReleaseSpeed'], aggfunc = np.mean, fill_value = 0).reset_index ()
PitcherID ReleaseSpeed ...
PitchType CB CF ... SF SI SL
0 80027 0.000000 86.022476 ... 0.000000 86.953833 80.533818
1 113724 0.000000 85.923250 ... 0.000000 89.452660 77.514283
2 142254 0.000000 0.000000 ... 0.000000 93.813669 86.085831
3 145462 75.401915 86.017263 ... 83.681604 0.000000 0.000000
4 149319 83.115615 93.617160 ... 0.000000 95.678535 0.000000
.. ... ... ... ... ... ... ...
868 774828 0.000000 0.000000 ... 0.000000 92.273510 84.243239
869 775376 76.968184 0.000000 ... 0.000000 0.000000 87.667449
870 783719 76.871411 0.000000 ... 85.757180 90.571193 83.681105
871 796795 73.575867 0.000000 ... 83.693867 0.000000 0.000000
872 796926 59.545178 0.000000 ... 0.000000 79.432177 70.142013
我試過了
FB_same_id_conditions = [total_data['PitcherID'] == pitcher_avg['PitcherID'] & pitcher_avg['PitchType'] == 'FB'] ...但這會返回 KeyError: 'PitchType'
我也試過
total_data['CBAvgVelo'] = np.where(pitcher_avg['PitchType'],= 'FB' & total_data['PitcherID'] == pitcher_avg['PitcherID'],"",pitcher_avg['ReleaseSpeed'])
所需的 output 是這樣的:
PitcherID CBAvgVelo CFAvgVelo
0 80027 0.000000 86.022476
1 80027 0.000000 86.022476
2 145462 75.401915 86.017263
3 145462 75.401915 86.017263
4 145462 75.401915 86.017263
您可以為此導入和使用 pandas。 它將輕松地從一個日期幀轉換為另一個 dataframe。 您可以參考 [doc1][1] & [doc2][2] & [doc3][3]。
pivoted = df.pivot(index='PitcherID', columns='CBAvgVelo', values='CFAvgVelo')\
.reset_index()
pivoted.columns.name=None
print(pivoted)
# PitcherID CBAvgVelo CFAvgVelo
#0 80027 0.000000 86.022476
#1 80027 0.000000 86.022476 ```
Hope this helps...
[1]: https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html
[2]: https://pythoninoffice.com/get-values-rows-and-columns-in-pandas-dataframe/#:~:text=pandas%20get%20rows%20We%20can%20use.loc%20%5B%5D%20to,left%20blank%2C%20we%20can%20get%20the%20entire%20row.
[3]: https://www.geeksforgeeks.org/python-pandas-dataframe/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.