[英]Multiply a specific value with a series of columns based on a Condition in Pandas Dataframe
[英]How to multiply a specific row in pandas dataframe by a condition
我有一列是第 10 个标记,但某些特定行没有正确缩放,即它们超出 10 个。我想创建一个 function 来帮助我检测哪些是 <=10,然后乘以 100。我尝试通过创建一个 function 但它失败了。 以下是列: data['10th']
0 0
1 0
2 0
3 10.00
4 0
...
2163 0
2164 0
2165 0
2166 76.50
2167 64.60
Name: 10th, Length: 2168, dtype: object
我不是你所说的“乘以 100”是什么意思,但你应该能够使用与 lambda 类似的应用:
df = pd.DataFrame({"a": [1, 3, 5, 23, 76, 43 ,12, 3 ,5]})
df['a'] = df['a'].apply(lambda x: x*100 if x < 10 else x)
print(df)
0 100
1 300
2 500
3 23
4 76
5 43
6 12
7 300
8 500
如果我对您的理解不正确,您可以将 lambda function 中的操作和条件替换为您的目的。
看起来您需要先更改数据类型data["10th"] = pd.to_numeric(data["10th"])
我假设您想乘以 10 而不是 100 以将其与 100 个分数中的另一个进行缩放。 你可以试试这个np.where(data["10th"]<10, data["10th"]*10, data["10th"])
将其分配回 dataframe 使用。 data["10th"] = np.where(data["10th"]<10, data["10th"]*10, data["10th"])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.