簡體   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