簡體   English   中英

在熊貓數據框中創建一行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM