我有一個相當大的數據幀(DF)包含陣列和楠每個網孔多陣列的元素方面的標準偏差,第3行是這樣的:的Python:如何讓一個數據幀
df:
A B C
X [4, 8, 1, 1, 9] NaN [8, 2, 8, 4, 9]
Y [4, 3, 4, 1, 5] [1, 2, 6, 2, 7] [7, 1, 1, 7, 8]
Z NaN [9, 3, 8, 7, 7] [2, 6, 3, 1, 9]
我已經知道(thanks to piRSquared)如何採取逐元素意味着在行的每一列,讓我得到這個:
element_wise_mean:
A [4.0, 5.5, 2.5, 1.0, 7.0]
B [5.0, 2.5, 7.0, 4.5, 7.0]
C [5.66666666667, 3.0, 4.0, 4.0, 8.66666666667]
現在我不知道如何來獲取各自的標準偏差,任何想法?另外,我還不明白groupby()在做什麼,有人可以更詳細地解釋它的功能嗎?
DF
np.random.seed([3,14159])
df = pd.DataFrame(
np.random.randint(10, size=(3, 3, 5)).tolist(),
list('XYZ'), list('ABC')
).applymap(np.array)
df.loc['X', 'B'] = np.nan
df.loc['Z', 'A'] = np.nan
element_wise_mean
df2 = df.stack().groupby(level=1)
element_wise_mean = df2.apply(np.mean, axis=0)
element_wise_sd
element_wise_sd = df2.apply(np.std, axis=0)
TypeError: setting an array element with a sequence.
嘗試在numpy的數組值 - 'df2.apply(拉姆達X:NP。 STD(x.values))'? – Zero
我知道有人會很高興看到你的種子價值。 –
@cᴏʟᴅsᴘᴇᴇᴅ是否是pirsquared? – Dark