繁体   English   中英

试图找出如何根据另一列的行值转换特定列中的某些值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM