亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何以這種方式對值進行排序?

如何以這種方式對值進行排序?

汪汪一只貓 2022-09-13 19:42:32
我有這樣的桌子Province            Country       Date      infectedNew South Wales    Australia    1/22/20        12Victoria           Australia    1/22/20        10British Columbia   Canada       1/22/20         5                   USA          1/22/20         7New South Wales    Australia    1/23/20         6Victoria           Australia    1/23/20         2British Columbia   Canada       1/23/20         1                   USA          1/23/20         10現在我想將該表轉換為如下所示Province            Country       Date      infectedNew South Wales    Australia    1/22/20        12                                1/23/20         6Victoria           Australia    1/22/20        10                                1/23/20         2British Columbia   Canada       1/22/20         5                                1/23/20         1                       USA          1/22/20         7                                 1/23/20         10我試過了,但沒有運氣。df.sort_values('Date')如何實現這樣的表?
查看完整描述

2 回答

?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

我是一個Python新手,但讓我一起思考(我相信這可以做得更整潔)。


df = df.fillna(method='ffill')

df = df.groupby(['Province', 'Country', 'Date']).sum()

這給了我:


Province         Country   Date     infected

British Columbia Canada    1/22/20         5

                           1/23/20         1

                 USA       1/22/20         7

                           1/23/20        10

New South Wales  Australia 1/22/20        12

                           1/23/20         6

Victoria         Australia 1/22/20        10

                           1/23/20         2

我有點預料到你在空的地方有值(至少這是我導入數據幀的)。我將所有這些更改為它們上方索引的值。NaNNaN


然后a給了我上面的結果。不確定這是否是你所追求的,但也許它激發了一些想法=)groupby


查看完整回答
反對 回復 2022-09-13
?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

dict = {"Province": ["New South Wales", "Victoria", "British Columbia", "", "New South Wales", "Victoria", "British Columbia", ""],

       "Country": ["Australia", "Australia", "Canada", "USA", "Australia", "Australia", "Canada", "USA"],

       "Date": ["1/22/20", "1/22/20", "1/22/20", "1/22/20", "1/23/20", "1/23/20", "1/23/20", "1/23/20"],

       "infected": [12, 10, 6, 5, 2, 3, 4, 5] }


import pandas as pd

brics = pd.DataFrame(dict)

print(brics)


df = brics.set_index(['Country', 'Province', 'Date']).sort_values(['Country', 'Province', 'Date']) 

print(df)

輸出:


           Province    Country     Date  infected

0   New South Wales  Australia  1/22/20        12

1          Victoria  Australia  1/22/20        10

2  British Columbia     Canada  1/22/20         6

3                          USA  1/22/20         5

4   New South Wales  Australia  1/23/20         2

5          Victoria  Australia  1/23/20         3

6  British Columbia     Canada  1/23/20         4

7                          USA  1/23/20         5

                                    infected

Country   Province         Date

Australia New South Wales  1/22/20        12

                           1/23/20         2

          Victoria         1/22/20        10

                           1/23/20         3

Canada    British Columbia 1/22/20         6

                           1/23/20         4

USA                        1/22/20         5

                           1/23/20         5


查看完整回答
反對 回復 2022-09-13
  • 2 回答
  • 0 關注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號