[英]multiply two pandas dataframes
我有兩個熊貓數據框:
DF1
id type NY PA MD
0 90 superurban 0.1 0.1 0.08
1 88 urban 0.1 0.08 0.08
2 75 suburban 0.06 0.04 0.04
3 60 rural 0.04 0.02 0.02
DF2
name item
0 NY 1000
1 PA 500
2 MD 250
如何根據狀態縮寫將df2中的“ item”值與df1浮點值相乘? 輸出應為:
id type NY PA MD
0 90 superurban 100 50 20
1 88 urban 100 40 20
2 75 suburban 60 20 10
3 60 rural 40 10 5
我們可以這樣:
In [112]: d1[['NY','PA','MD']] *= d2.set_index('name')['item']
In [113]: d1
Out[113]:
id type NY PA MD
0 90 superurban 100.0 50.0 20.0
1 88 urban 100.0 40.0 20.0
2 75 suburban 60.0 20.0 10.0
3 60 rural 40.0 10.0 5.0
In [118]: d1[d2['name']] *= d2.set_index('name')['item']
In [119]: d1
Out[119]:
id type NY PA MD
0 90 superurban 100.0 50.0 20.0
1 88 urban 100.0 40.0 20.0
2 75 suburban 60.0 20.0 10.0
3 60 rural 40.0 10.0 5.0
或者您可以使用mul
;
df1[['NY','PA','MD']]=(df1[['NY','PA','MD']].T.reset_index().drop('index',1)).mul(df2.item,axis='index').T
Out[888]:
id type NY PA MD
0 90 superurban 100.0 50.0 20.0
1 88 urban 100.0 40.0 20.0
2 75 suburban 60.0 20.0 10.0
3 60 rural 40.0 10.0 5.0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.