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

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

在兩個不同列上計算 Pandas Dataframe 中的新行

在兩個不同列上計算 Pandas Dataframe 中的新行

嗶嗶one 2022-07-12 10:28:36
所以我是 Python 的初學者,我有一個包含 Country、avgTemp 和 year 的數據框。我想要做的是計算每個國家/地區的新行,其中年份增加 20 并且 avgTemp 乘以一個名為 tempChange 的變量。我不想刪除以前的值,我只想附加新值。這是數據框的外觀: 最好我還想創建一個循環運行代碼一定次數超級感謝任何幫助!如果您需要從數據框中復制值作為示例,您可以在此處獲?。篊ountry        avgTemp        year0 Afghanistan    14.481583    20121 Africa         24.725917    20122 Albania        13.768250    20123 Algeria        23.954833    20124 American Samoa 27.201417    2012243行×3列
查看完整描述

3 回答

?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

如果你想重復這些行,我會創建一個新的數據幀,在新的數據幀中執行任何操作(總和 20 年,將溫度乘以常數或數組等......)然后使用concat()它來追加它到原始數據框:


import pandas as pd

tempChange=1.15

data = {'Country':['Afghanistan','Africa','Albania','Algeria','American Samoa'],'avgTemp':[14,24,13,23,27],'Year':[2012,2012,2012,2012,2012]}

df = pd.DataFrame(data)

df_2 = df.copy()

df_2['avgTemp'] = df['avgTemp']*tempChange

df_2['Year'] = df['Year']+20

df = pd.concat([df,df_2]) #ignore_index=True if you wish to not repeat the index value

print(df)

輸出:


          Country  avgTemp  Year

0     Afghanistan    14.00  2012

1          Africa    24.00  2012

2         Albania    13.00  2012

3         Algeria    23.00  2012

4  American Samoa    27.00  2012

0     Afghanistan    16.10  2032

1          Africa    27.60  2032

2         Albania    14.95  2032

3         Algeria    26.45  2032

4  American Samoa    31.05  2032


查看完整回答
反對 回復 2022-07-12
?
明月笑刀無情

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

我相信你正在尋找的是

dfName['newYear'] =  dfName.apply(lambda x: x['year'] + 20,axis=1)
dfName['tempDiff'] =  dfName.apply(lambda x: x['avgTemp']*tempChange,axis=1)

這就是您應用到每一行的方式。


查看完整回答
反對 回復 2022-07-12
?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

其中 df 是您的數據框名稱:

 df['tempChange'] = df['year']+ 20  * df['avgTemp']

這將使用上述邏輯向您的 df 添加一個新列。我不確定我是否理解你的邏輯正確,所以數學可能需要一些工作


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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