簡體   English   中英

根據另一個數據幀僅更改數據幀中整個列的一小部分值

[英]Change only a fraction of value for an entire column in dataframe based on another dataframe

假設我有一個如下所示的數據框:

df1
     Products    Cost
 0     rice        12
 1     beans       15
 2     eggs        17
 3     Tomatoes    5

而且我有另一個具有相同標題的數據框,但是它有一個特定的數字,這導致數字的數量變成“a”字母。 舉例說明。

df2
        Header     quantity
 0      Products       2
 1      Cost           1

這應該給我這樣的結果:

df3
     Products    Cost
 0    riaa        1a
 1    beaaa       1a
 2    egaa        1a
 3    Tomatoaa    NaN

這個案子應該如何解決? 我不知道“替換”方法是否有效

使用map ,在創建 map dict

d={x:x[:-y]+'a'*y for x, y  in zip(df2.Header,df2.quantity)}
df1.Products=df1.Products.map(d)
df1
Out[863]: 
   Products  Cost
0      riaa    12
1     beaaa     3
2      egaa     2
3  Tomaaaaa    11

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM