0
我找不到任何方法從我的輸入中獲取輸出。我想按用戶和問題進行分組(但這個問題信息已經在答案欄中,因爲它是問題中的NaN,與給定答案無關,請參閱下文),並獲取每個答案欄的方法。pandas groupby和更多列上的均值聚合
Q代表提問,A代表回答
輸入:
import pandas as pd
import numpy as np
df = pd.DataFrame(
data={
'userid':[11,11,11,12,13,13],
'Q':['Q1','Q2','Q1','Q3','Q1','Q1'],
'A1':[1,np.NaN,0,np.NaN,0.8,0.6],
'A2':[np.NaN,1,np.NaN,np.NaN,np.NaN,np.NaN],
},
index=range(1,7)
)
我的預期暫時狀態 - 你不必使用:
temp_df = pd.DataFrame(
data={
'userid':[11,12,13],
'A1':[0.5,np.NaN,0.7],
'A2':[1,np.NaN,np.NaN],
},
index=range(1,4)
)
的最終期望的數據幀:
desired_df = pd.DataFrame(
data={
'userid':[11,12,13],
'A1':[0.5,0.6,0.7],
'A2':[1,1,1],
},
index=range(1,4)
)
'temp_df = df.groupby(df.userid).mean()',但你如何計算'desired_df'的 '手段'?例如,'0.6'是如何產生的?你是否混合了不同用戶的數據? – mhoff
是的,但現在解決了,感謝您的關注! – PEZO