[英]Create a row in pandas dataframe
我正在嘗試在現有的 Pandas 數據框中創建一行,新行的值應該是一個計算
我有一個如下所示的數據框:
Rating LE_St % Total
1.00 7.58 74.55
2.00 0.56 5.55
3.00 0.21 2.04
5.00 0.05 0.44
6.00 1.77 17.42
All 10.17 100.00
我想添加一個名為“Metric”的行,它是“Rating”>= 4 和 <6 的“LE_St”變量之和除以“All”的“LE_St”,即 Metric = (0.05+1.77)/10.17 我的輸出數據框應如下所示:
Rating LE_St % Total
1.00 7.58 74.55
2.00 0.56 5.55
3.00 0.21 2.04
5.00 0.05 0.44
6.00 1.77 17.42
All 10.17 100.00
Metric 0.44
我相信您對數據框的處理方法是錯誤的。 通常,行包含與列相關的值,這些值有意義且不包含隨機信息。 pandas 和 python 的強大之處在於保存和操作數據。 您可以輕松地從一列甚至所有列計算一個值,並將它們存儲在“摘要”中,如數據幀或單獨的值。 這也可能對您有所幫助。 對於列(即系列對象)的計算,您可以使用 .sum() 方法(或任何其他計算工具)並按“評級”列中的值對數據框進行切片。 對於小統計的隨機計算,你會很不喜歡 excel :)
解決方案的示例可能如下所示:
all = 10.17 # i dont know where this value comes from
df = df[df['rating'].between(4, 6, inclusive=True)]
metric = sliced_df['LE_ST'].sum()/all
print metric # or store it somewhere however you like
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.