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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

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

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

Qyouu 2023-09-05 15:39:47
我有一堆多索引,pd.DataFrames其中包含某些日子在一組地面站進(jìn)行的天氣觀測(cè)統(tǒng)計(jì)數(shù)據(jù)。以下是這樣一個(gè)數(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存儲(chǔ)一個(gè)月中某天1(例如 1 月 2 日)的所有觀察結(jié)果。每個(gè)數(shù)據(jù)幀的站索引都是唯一的(沒(méi)有兩個(gè)站 ID 是相同的)。然而,各個(gè)數(shù)據(jù)幀之間的站集可能會(huì)有所不同,具體取決于月份和/或日期。問(wèn)題:如何將這些數(shù)據(jù)幀組合成具有以下結(jié)構(gòu)的單個(gè)數(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 回答

?
開(kāi)滿天機(jī)

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊

您可以使用 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


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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