簡體   English   中英

熊貓:基於另一列中的值來編輯一列中的值的最快方法

[英]Pandas: Fastest way to edit values in one column based based on the values from another column

我嘗試不依賴SQL查詢,而是嘗試使用熊貓以更省時的方式完成相同的工作。

通過以下簡化示例可以最好地說明我要解決的問題:

df = pd.DataFrame({'id':list([1,2,3,4,5,6]),
                   'value':[12,8,31,14,45,12]})

根據數據,我想在id為1,2,4到32,15,14時更改“值”列的值

我設法通過以下代碼為一個值做到這一點:

df.loc[ df['id'] ==1, 'value'] = 32

但是問題是上面的代碼時間效率很低。 所以我想知道是否有人可以提出一個解決方案,使我可以在熊貓表中盡快更新20-30個值。

提前致謝

使用isin

df.loc[df['id'].isin([1, 2, 4]), 'value'] = [32, 15, 14]

df

   id  value
0   1     32
1   2     15
2   3     31
3   4     14
4   5     45
5   6     12

暫無
暫無

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

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