[英]df.loc change more than one column based on condition
我想尝试的是根据条件更改多个列。
例子(“数据只是为了解释”)=>
import pandas as pd
data = {'s' : ["placementTop","placementProductPage","safgasf", "aslgkmalksg", "ıowjsakguıwa", "placementTop","placementProductPage", "placementTop","placementProductPage",], "State": ["enabled","paused","sagasg", "sagaskg", "sagkşlaksg", "sagaskg", "sagkşlaksg", "sagaskg", "sagkşlaksg"], "x": [10,20,25,30,5,30,5,30,5], "y" : [12,20,25,30,5,20,25,30,5]}
df = pd.DataFrame(data)
filter = df.loc[(df["s"] == "placementTop") & (df["State"] == "enabled"), "x"] = 2
print(df)
s State x y
0 placementTop enabled 2 12
1 placementProductPage paused 20 20
2 safgasf sagasg 25 25
3 aslgkmalksg sagaskg 30 30
4 ıowjsakguıwa sagkşlaksg 5 5
5 placementTop sagaskg 30 20
6 placementProductPage sagkşlaksg 5 25
7 placementTop sagaskg 30 30
8 placementProductPage sagkşlaksg 5 5
这对我有用,但我也想同时更改 y 列。
这将为满足条件s == "placementTop"
和State == "enabled"
的行更新x
和y
列
df.loc[(df["s"] == "placementTop") & (df["State"] == "enabled"), ["x", "y"]] = 2, 3
输出:
s State x y
0 placementTop enabled 2 3
1 placementProductPage paused 20 20
2 safgasf sagasg 25 25
3 aslgkmalksg sagaskg 30 30
4 ıowjsakguıwa sagkşlaksg 5 5
5 placementTop sagaskg 30 20
6 placementProductPage sagkşlaksg 5 25
7 placementTop sagaskg 30 30
8 placementProductPage sagkşlaksg 5 5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.