[英]How to update a column value in a row for specific value in another column in pandas dataframe?
我有一個包含 3 列id
、 type
、 type_value
的數據type_value
。
它們已經填充了值。 type
列包含重復值type1
, type2
, type3
, type4
。
type_value
包含一個 Counter 對象,該對象具有出現頻率。
我所需要的只是對 Counter 字典執行一些操作,並在type
與type1
匹配時更新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.