[英]Trying to figure out how to transform certain values in a specific column based on row values from another column
下面是一个例子:
鉴于数据集是一个 CSV 文件:
Column 1 Column 2 Column 3
Site # Type Value
0 A 0.358
0 B 12
1 B 84
1 A 3.879
1 B 4.823
0 A 9.7892
0 B 76.54
0 A 82
2 B 13.986
2 A 15.96
2 B 14.831
0 A 14
所以我想做的是为所有 Site# = '0' 应用一个函数,将 Value 列乘以 13 或其他东西并保存该新表。 就像是:
Column 1 Column 2 Column 3
Site # Type Value
0 A 4.654
0 B 156
1 B 84
1 A 3.879
1 B 4.823
0 A 127.2596
0 B 995.02
0 A 1066
2 B 13.986
2 A 15.96
2 B 14.831
0 A 182
非常感谢任何和所有帮助。
使用pandas
库。
>>> import pandas as pd
>>> import numpy as np
>>> df = pd.read_csv('csv_file')
>>> df.columns = ["Site", "Type", "Value"]
>>> df
Site Type Value
0 0 B 12.0000
1 1 B 84.0000
2 1 A 3.8790
3 1 B 4.8230
4 0 A 9.7892
5 0 B 76.5400
>>> df.Value = np.where(df.Site == 0, df.Value * 13, df.Value)
>>> df
Site Type Value
0 0 B 156.0000
1 1 B 84.0000
2 1 A 3.8790
3 1 B 4.8230
4 0 A 127.2596
5 0 B 995.0200
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.