第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

與另一個 csv、pandas 上的操作(聚合最大值)相對應(yīng)的 csv 值

與另一個 csv、pandas 上的操作(聚合最大值)相對應(yīng)的 csv 值

交互式愛情 2023-09-05 15:10:12
我有兩個表用于平均值和標(biāo)準差,我想計算平均值表的某些列的最大值,并且我想獲取標(biāo)準表的相應(yīng)行。mean_df = pd.read_csv(r'./csvs/mean.csv')std_df = pd.read_csv(r'./csvs/std.csv')#mean_df, std_df are of same sizegrouped_df = mean_df.groupby(['alpha', 'beta'])columns = ['val']max_df = grouped_df[columns].agg(['max'])# Here i want the corresponding std_max_df table for the max_df. i.e., for every max calculated from mean, i want the std of that max in a new table.例如:輸入mean_df是αβ伽馬陷阱1 2 3 1004 6 8 2001 2 9 4004 6 7 5003 5 8 600輸入std_df 是αβ伽馬陷阱1 2 3 3004 6 8 5001 2 9 1004 6 7 7003 5 8 900輸出將是alpha beta gamma max_mean_val corresp_std_val1 2 9 400 1004 6 7 500 7003 5 8 600 900
查看完整描述

1 回答

?
幕布斯7119047

TA貢獻1794條經(jīng)驗 獲得超8個贊

首先通過內(nèi)連接或左連接將 DataFrame 合并在一起,然后通過以下方式獲取具有最大索引值的行DataFrameGroupBy.idxmax

df = mean_df.merge(std_df, on=['alpha', 'beta','gamma'],?

? ? ? ? ? ? ? ? ? ? ? ? ? ?how='left',?

? ? ? ? ? ? ? ? ? ? ? ? ? ?suffixes=('_mean','_std'))


df = df.loc[df.groupby(['alpha', 'beta'])['val_mean'].idxmax()]

print (df)

? ?alpha? beta? gamma? val_mean? val_std

2? ? ? 1? ? ?2? ? ? 9? ? ? ?400? ? ? 100

4? ? ? 3? ? ?5? ? ? 8? ? ? ?600? ? ? 900

3? ? ? 4? ? ?6? ? ? 7? ? ? ?500? ? ? 700

對于多列,一種可能的想法是:


print (mean_df)


? ?alpha? beta? gamma? val? val1

0? ? ? 1? ? ?2? ? ? 3? 100? ? ?5

1? ? ? 4? ? ?6? ? ? 8? 200? ? ?9

2? ? ? 1? ? ?2? ? ? 9? 400? ? ?3

3? ? ? 4? ? ?6? ? ? 7? 500? ? ?5

4? ? ? 3? ? ?5? ? ? 8? 600? ? ?2


print (std_df)

? ?alpha? beta? gamma? val? val1

0? ? ? 1? ? ?2? ? ? 3? 300? ? ?5

1? ? ? 4? ? ?6? ? ? 8? 500? ? ?7

2? ? ? 1? ? ?2? ? ? 9? 100? ? ?9

3? ? ? 4? ? ?6? ? ? 7? 700? ? ?2

4? ? ? 3? ? ?5? ? ? 8? 900? ? ?1



df = mean_df.merge(std_df, on=['alpha', 'beta','gamma'],?

? ? ? ? ? ? ? ? ? ? ? ? ? ?how='left',?

? ? ? ? ? ? ? ? ? ? ? ? ? ?suffixes=('_mean','_std'))


cols = ['val','val1']


dfs = [df.loc[df.groupby(['alpha', 'beta'])[f'{col}_mean'].idxmax(),?

? ? ? ? ? ? ? [f'{col}_mean', f'{col}_std']].reset_index(drop=True) for col in cols]


df0 = df[['alpha', 'beta','gamma']].drop_duplicates(['alpha','beta']).reset_index(drop=True)

df = pd.concat([df0] + dfs, axis=1)

print (df)

? ?alpha? beta? gamma? val_mean? val_std? val1_mean? val1_std

0? ? ? 1? ? ?2? ? ? 3? ? ? ?400? ? ? 100? ? ? ? ? 5? ? ? ? ?5

1? ? ? 4? ? ?6? ? ? 8? ? ? ?600? ? ? 900? ? ? ? ? 2? ? ? ? ?1

2? ? ? 3? ? ?5? ? ? 8? ? ? ?500? ? ? 700? ? ? ? ? 9? ? ? ? ?7



查看完整回答
反對 回復(fù) 2023-09-05
  • 1 回答
  • 0 關(guān)注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號