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

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

pandas 使用多索引合并數(shù)據(jù)幀

pandas 使用多索引合并數(shù)據(jù)幀

Qyouu 2023-09-05 15:39:47
我有一堆多索引,pd.DataFrames其中包含某些日子在一組地面站進行的天氣觀測統(tǒng)計數(shù)據(jù)。以下是這樣一個數(shù)據(jù)框的結(jié)構(gòu):>>> df = pd.DataFrame({'month': [1, 1, 1, 1, 1, 1],                   'day': [2]*6,                   'station': ['A', 'B', 'C', 'D', 'E', 'F'],                   'mean': [55, 40, 84, 31, 44, 12],                   'sd': [1., 2., 1.2, 3., 4., 0.7]})>>> df.set_index(['station', 'month', 'day'])>>> df>>> df = df.set_index(['station', 'month', 'day'])>>> df                   mean   sdstation month day           A       1     2      55  1.0B       1     2      40  2.0C       1     2      84  1.2D       1     2      31  3.0E       1     2      44  4.0F       1     2      12  0.7df2存儲一個月中某天1(例如 1 月 2 日)的所有觀察結(jié)果。每個數(shù)據(jù)幀的站索引都是唯一的(沒有兩個站 ID 是相同的)。然而,各個數(shù)據(jù)幀之間的站集可能會有所不同,具體取決于月份和/或日期。問題:如何將這些數(shù)據(jù)幀組合成具有以下結(jié)構(gòu)的單個數(shù)據(jù)幀(忽略精確值mean和sd值,我已經(jīng)編好了它們):>>> df                   mean   sdstation month day           A       1     1      55  1.0              2      44  5.0              3      34  1.2(...)        2     1      55  1.0              2      44  5.0              3      34  1.2(...)   B       1     1      31  3.0              2      44  5.0              3      34  1.2(...)
查看完整描述

1 回答

?
開滿天機

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

您可以使用 pd.concat:


In [15]: df1 = pd.DataFrame({'month': [1, 1, 1, 1, 1, 1],

    ...:                    'day': [2]*6,

    ...:                    'station': ['A', 'B', 'C', 'D', 'E', 'F'],

    ...:                    'mean': [55, 40, 84, 31, 44, 12],

    ...:                    'sd': [1., 2., 1.2, 3., 4., 0.7]}).set_index(["station", "month", "day"])


In [16]: df2 = pd.DataFrame({'month': [2, 2, 2, 2, 2, 2],

    ...:                    'day': [2]*6,

    ...:                    'station': ['A', 'B', 'C', 'D', 'G', 'F'],

    ...:                    'mean': [55, 40, 84, 31, 15, 12],

    ...:                    'sd': [1., 2., 1.2, 3.,1, 0.7]}).set_index(["station", "month", "day"])


In [19]: pd.concat([df1,df2]).sort_index()

Out[19]:

                   mean   sd

station month day

A       1     2      55  1.0

        2     2      55  1.0

B       1     2      40  2.0

        2     2      40  2.0

C       1     2      84  1.2

        2     2      84  1.2

D       1     2      31  3.0

        2     2      31  3.0

E       1     2      44  4.0

F       1     2      12  0.7

        2     2      12  0.7

G       2     2      15  1.0


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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