簡體   English   中英

如何在熊貓中獲取使用另一列的值選擇的行的平均值

[英]How to get mean of rows selected with another column's values in pandas

我試圖僅在Dates列等於Oct-16計算得分1的平均值:

在此處輸入圖片說明

我最初嘗試的是:

 import pandas as pd
 import numpy as np
 import os

 dataFrame = pd.read_csv("test.csv")

 for date in dataFrame["Dates"]:
    if date == "Oct-16":
        print(date)##Just checking
        print(dataFrame["Score 1"].mean())

但是我的結果是整個專欄的平均Score 1

我嘗試的另一件事是手動告訴它哪些索引可以計算平均值:

dataFrame["Score 1"].iloc[0:2].mean()

但理想情況下,如果Dates == "Oct-16"我想找到一種方法。

遍歷行並沒有利用Pandas的優勢。 如果要基於另一列的值對某列進行操作,則可以使用.loc[]

dataFrame.loc[dataFrame['Dates'] == 'Oct-16', 'Score 1']

.loc[]的第一部分使用您指定的條件( dataFrame['Dates'] == 'Oct-16' )選擇所需的行。 第二部分指定所需的列( Score 1 )。 然后,如果要獲取均值,則可以將.mean()放在最后:

dataFrame.loc[dataFrame['Dates'] == 'Oct-16', 'Score 1'].mean()
import pandas as pd
import numpy as np
import os

dataFrame = pd.read_csv("test.csv")

dates = dataFrame["Dates"]
score1s = dataFrame["Score 1"]
result = []

for i in range(0,len(dates)):
    if dates[i] == "Oct-16":
        result.append(score1s[i])

print(result.mean())

所有日期的平均值如何

dataframe.groupby('Dates').['Score 1'].mean()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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