我想要一個dataframe
,我想平均跨行和列,並按Person
分組。熊貓的意思是跨越行和列的組
通常情況下,我可以做.mean()
和.mean(axis=1)
,但是,我的數據有幾個NaN
值,所以這種方法適用inappropraite加權行與NaN
值
My code:
import pandas as pd
import numpy as np
df = pd.DataFrame(data=[[1,2,np.nan, 'Person A'],
[1,2,3, 'Person B'],
[2,np.nan,5,'Person B'],
[4,5,7, 'Person A']],
columns=['A', 'B','C', 'Person'])
df = df.groupby('Person').mean()
print df.mean(axis=1)
輸出:
Person
Person A 4.333333
Person B 2.500000
所需的輸出:
Person
Person A 3.8
Person B 2.6
爲什麼這會創建一個系列而不是數據框? – user2242044
@ user2242044根據pandas文檔,https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.groupby.html,de方法返回一個系列。那會影響你的結果嗎?方法棧() –
沒有它不,但我試圖做一個'DataFrame'操作後,並得到一個問題,但將其轉換回'DataFrame'與'pd.Series.to_frame(df)' – user2242044