import pandas as pd
import numpy as np
data_A=pd.read_csv('D:/data_A.csv')
data_A有名為 的列power。

power列只有 0 和 1,dtype 是 int64。我想確保 column 中只有 0 和 1 power。因此,如果列中除了 0 和 1 之外還有其他數字power,我想將值設為 0。我該怎么辦?
uj5u.com熱心網友回復:
您可以使用DataFrame.loc有條件地訪問一組行和列。
>>> import pandas as pd
>>>
>>> df = pd.DataFrame({"power": [1, 0, 1, 2, 5, 6, 0, 1]})
>>> df
power
0 1
1 0
2 1
3 2
4 5
5 6
6 0
7 1
>>> df.loc[~(df["power"].isin([1, 0])), "power"] = 0
>>> df
power
0 1
1 0
2 1
3 0
4 0
5 0
6 0
7 1
該條件~(df["power"].isin([1, 0]))回傳一個布爾系列,可用于選擇“冪”不等于1或0
uj5u.com熱心網友回復:
嘗試這個:
import pandas as pd
# example df
p = [1, 0, 3, 4, 's']
data_A = pd.DataFrame(p, columns=['power'])
def convert_row(row):
if row == 1 or row == 0:
return row
else:
return 0
data_A['power'] = data_A['power'].apply(convert_row)
print(data_A)
uj5u.com熱心網友回復:
如果您的資料框很小,您也可以使用串列理解。
data_A.power = [x if x == 1 else 0 for x in data_A.power]
或 numpy 更長的列(此解決方案假定您沒有負值)
import numpy as np
power_np = np.array(data_A.power)
power_np[power_np > 1] = 0
data_A.power = power_np
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/368007.html
