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

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

如何用 Pandas 計算逗號分隔列的平均值?

如何用 Pandas 計算逗號分隔列的平均值?

回首憶惘然 2023-09-26 14:57:59
讓我們考慮以下 CSV 文件test.csv:"x","y","A","B"8000000000,"0,1","0.113948,0.113689",0.1140428000000000,"0,1","0.114063,0.113823",0.1141758000000000,"0,1","0.114405,0.114366",0.1145248000000000,"0,1,2,3","0.167543,0.172369,0.419197,0.427285",0.4275768000000000,"0,1,2,3","0.167784,0.172145,0.418624,0.426492",0.4287368000000000,"0,1,2,3","0.168121,0.172729,0.419768,0.427467",0.428578我的目標是按列"x"和來對行進行分組,并計算列和"y"的算術(shù)平均值。"A""B"我的第一個方法是在 Pandas 中使用groupby()和 的組合:mean()import pandasif __name__ == "__main__":    data = pandas.read_csv("test.csv", header=0)    data = data.groupby(["x", "y"], as_index=False).mean()    print(data)運行此腳本會產(chǎn)生以下輸出:            x        y         B0  8000000000      0,1  0.1142471  8000000000  0,1,2,3  0.428297正如我們所看到的,實現(xiàn)單值列的目標"B"很簡單。然而,該列"A"被省略。相反,我希望該列帶有"A"一個字符串,其中包含每個逗號分隔值的算術(shù)平均值。所需的輸出應(yīng)如下所示:            x        y                                    A         B0  8000000000      0,1                    0.114139,0.113959  0.1142471  8000000000  0,1,2,3  0.167816,0.172414,0.419196,0.427081  0.428297有人知道怎么做這個嗎?
查看完整描述

1 回答

?
哆啦的時光機

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

您可以創(chuàng)建一個自定義聚合函數(shù),將這些字符串解析為列表,查找每列的平均值,并將它們格式化回字符串:


def string_mean(rows):

    data_list = []

    for row in rows:

        data_list.append([float(item) for item in row.split(",")])

    data = np.array(data_list)

    return ",".join([f"{item:.6f}" for item in data.mean(axis=0)])

    

df.groupby(["x", "y"], as_index=False).agg({"A": string_mean, "B": "mean"})

返回


            x        y                                    A         B

0  8000000000      0,1                    0.114139,0.113959  0.114247

1  8000000000  0,1,2,3  0.167816,0.172414,0.419196,0.427081  0.428297

請注意,如果 A 中的字符串在單個組中具有不同數(shù)量的列,則會出錯。


順便說一句,你可能可以大大清理我上面的函數(shù)


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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