簡體   English   中英

如何更新pandas數據框中另一列中特定值的行中的列值?

[英]How to update a column value in a row for specific value in another column in pandas dataframe?

我有一個包含 3 列idtypetype_value的數據type_value

它們已經填充了值。 type列包含重復值type1 , type2 , type3 , type4

type_value包含一個 Counter 對象,該對象具有出現頻率。

我所需要的只是對 Counter 字典執行一些操作,並在typetype1匹配時更新type_value列,並保持其他行不變。

輸入:

id  type    type_value
1   type1   Counter object that needs to be updated
2   type2   some random value
3   type3   some random value
4   type4   some random value
5   type1   Counter object that needs to be updated
6   type2   some random value
7   type3   some random value
8   type4   some random value
9   type1   Counter object that needs to be updated
10  type2   some random value
11  type3   some random value
12  type4   some random value
13  type1   Counter object that needs to be updated
14  type2   some random value
15  type3   some random value
16  type4   some random value

輸出:

id  type    type_value
1   type1   Do an operation on this and update with new values
2   type2   some random value
3   type3   some random value
4   type4   some random value
5   type1   Do an operation on this and update with new values
6   type2   some random value
7   type3   some random value
8   type4   some random value
9   type1   Do an operation on this and update with new values
10  type2   some random value
11  type3   some random value
12  type4   some random value
13  type1   Do an operation on this and update with new values
14  type2   some random value
15  type3   some random value
16  type4   some random value

Fitler 按條件行並應用您的自定義函數:

def func(x):
    #your operation
    return x

mask = df['type'] == 'type1'
df.loc[mask, 'type_value'] = df.loc[mask, 'type_value'].apply(func)

暫無
暫無

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

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