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

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

如何去掉最后一列中的零

如何去掉最后一列中的零

偶然的你 2023-07-27 14:13:36
我正在做應用數據科學的作業。問題: 將可再生能源百分比削減為 5 個類別。按大陸劃分的前 15 名組,以及這些新的可再生百分比垃圾箱。每個組中有多少個國家?此函數應返回一個具有 Continent MultiIndex 的系列,然后是可再生百分比的 bin。請勿包含沒有國家/地區的組。這是我的代碼:def answer_twelve():    Top15 = answer_one()    ContinentDict  = {'China':'Asia',                   'United States':'North America',                   'Japan':'Asia',                   'United Kingdom':'Europe',                   'Russian Federation':'Europe',                   'Canada':'North America',                   'Germany':'Europe',                   'India':'Asia',                  'France':'Europe',                   'South Korea':'Asia',                   'Italy':'Europe',                   'Spain':'Europe',                   'Iran':'Asia',                  'Australia':'Australia',                   'Brazil':'South America'}    Top15['Continent'] = Top15.index.to_series().map(ContinentDict)    Top15['bins'] = pd.cut(Top15['% Renewable'],5)    return pd.Series(Top15.groupby(by = ['Continent', 'bins']).size())#,apply(lambda x:s if x['Rank']==0 continue))answer_twelve()這是我對上述代碼的輸出Continent      bins            Asia           (2.212, 15.753]     4               (15.753, 29.227]    1               (29.227, 42.701]    0               (42.701, 56.174]    0               (56.174, 69.648]    0Australia      (2.212, 15.753]     1               (15.753, 29.227]    0               (29.227, 42.701]    0               (42.701, 56.174]    0               (56.174, 69.648]    0Europe         (2.212, 15.753]     1               (15.753, 29.227]    3               (29.227, 42.701]    2               (42.701, 56.174]    0               (56.174, 69.648]    0North America  (2.212, 15.753]     1               (15.753, 29.227]    0               (29.227, 42.701]    0               (42.701, 56.174]    0               (56.174, 69.648]    1South America  (2.212, 15.753]     0               (15.753, 29.227]    0               (29.227, 42.701]    0               (42.701, 56.174]    0               (56.174, 69.648]    1dtype: int64
查看完整描述

3 回答

?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

使用 pandas 并在列為零時刪除行

如果 column_name 是您的列:

df = df[df.column_name != 0]


查看完整回答
反對 回復 2023-07-27
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

lambda x:s if x['Rank']==0 continue

這沒有任何意義,因為continue僅在循環內有用。請注意,您需要打印一個值。相反,將其留空:

lambda x:"" if x['Rank']==0 else s


查看完整回答
反對 回復 2023-07-27
?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

您可以使用“for”循環迭代這些值,然后使用replace()NaN 替換 0,現在您可以使用dropna(). 我嘗試使用drop()或droplevel()代替替換它們,但它不起作用。這是我的代碼:


for k,i in series_df.items():

    if i == 0:

        pd_series.replace(to_replace=i, value=np.nan, inplace=True)

        pd_series.dropna(axis=0, inplace=True)

print(pd_series)

您可能需要更改結果的數據類型。輸出為:


Continent      bins            

Asia           (2.212, 15.753]     4

               (15.753, 29.227]    1

Australia      (2.212, 15.753]     1

Europe         (2.212, 15.753]     1

               (15.753, 29.227]    3

               (29.227, 42.701]    2

North America  (2.212, 15.753]     1

               (56.174, 69.648]    1

South America  (56.174, 69.648]    1

dtype: int64


查看完整回答
反對 回復 2023-07-27
  • 3 回答
  • 0 關注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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