簡體   English   中英

在熊貓數據框中附加兩列的最小值

[英]Append min value of two columns in pandas data frame

df

Purchase 
1
3
2
5
4   
7 

df2

df2 = pd.DataFrame(columns=['Mean','Median','Max','Col4'])
df2 = df2.append({'Mean': (df['Purchase'].mean()),'Median':df['Purchase'].median(),'Max':(df['Purchase'].max()),'Col4':(df2[['Mean','Median']].min(axis=1))}, ignore_index=True)

獲得的輸出

  Mean    Median   Max         Col4
  3.66     3.5      7   Series([], dtype: float64)

預期產出

  Mean    Median   Max         Col4
  3.66     3.5      7           3.5     #Value in Col4 is Min(Mean, Median of df2)

任何人都可以幫忙嗎?

使用np.minimum並通過meanmedian

df2 = pd.DataFrame(columns=['Mean','Median','Max','Col4'])
df2 = (df2.append({'Mean': df['Purchase'].mean(),
                  'Median':df['Purchase'].median(),
                  'Max':   df['Purchase'].max(),
                  'Col4': np.minimum(df['Purchase'].mean(), df['Purchase'].median())},
                   ignore_index=True))
print (df2)
       Mean  Median  Max  Col4
0  3.666667     3.5  7.0   3.5

或者更好的是使用Series.agg在下一步分鍾的新的價值,最后建立一個行數據幀:

s = df['Purchase'].agg(['mean','median','max'])
s.loc['col4'] = s[['mean','median']].min()

df = s.to_frame(0).T
print (df)
       mean  median  max  col4
0  3.666667     3.5  7.0   3.5

暫無
暫無

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

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