回答:
その列を選択する必要があります。
In [41]:
df.loc[df['First Season'] > 1990, 'First Season'] = 1
df
Out[41]:
Team First Season Total Games
0 Dallas Cowboys 1960 894
1 Chicago Bears 1920 1357
2 Green Bay Packers 1921 1339
3 Miami Dolphins 1966 792
4 Baltimore Ravens 1 326
5 San Franciso 49ers 1950 1003
したがって、ここの構文は次のとおりです。
df.loc[<mask>(here mask is generating the labels to index) , <optional column(s)> ]
あなたはドキュメントをチェックすることができ、セマンティクスを示すパンダへの10分も
編集
ブールインジケーターを生成する場合は、ブール条件を使用してブールシリーズを生成し、dtypeをint
これに変換True
しFalse
て変換し、変換1
し0
ます。
In [43]:
df['First Season'] = (df['First Season'] > 1990).astype(int)
df
Out[43]:
Team First Season Total Games
0 Dallas Cowboys 0 894
1 Chicago Bears 0 1357
2 Green Bay Packers 0 1339
3 Miami Dolphins 0 792
4 Baltimore Ravens 1 326
5 San Franciso 49ers 0 1003
パーティーには少し遅れますが、それでも-私はnumpyを使用することを好みます:
import numpy as np
df['First Season'] = np.where(df['First Season'] > 1990, 1, df['First Season'])
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()
ます。私がやろうとしているのは、基本的にdf['A'] = np.where(df['B'] in some_values, df['A']*2, df['A]
です。誰かこれについて考えがありますか?
単一条件、つまり ( 'employrate'] > 70 )
country employrate alcconsumption
0 Afghanistan 55.7000007629394 .03
1 Albania 51.4000015258789 7.29
2 Algeria 50.5 .69
3 Andorra 10.17
4 Angola 75.6999969482422 5.57
これを使って:
df.loc[df['employrate'] > 70, 'employrate'] = 7
country employrate alcconsumption
0 Afghanistan 55.700001 .03
1 Albania 51.400002 7.29
2 Algeria 50.500000 .69
3 Andorra nan 10.17
4 Angola 7.000000 5.57
したがって、ここでの構文は次のとおりです。
df.loc[<mask>(here mask is generating the labels to index) , <optional column(s)> ]
複数の条件の場合。 (df['employrate'] <=55) & (df['employrate'] > 50)
これを使って:
df['employrate'] = np.where(
(df['employrate'] <=55) & (df['employrate'] > 50) , 11, df['employrate']
)
out[108]:
country employrate alcconsumption
0 Afghanistan 55.700001 .03
1 Albania 11.000000 7.29
2 Algeria 11.000000 .69
3 Andorra nan 10.17
4 Angola 75.699997 5.57
したがって、ここでの構文は次のとおりです。
df['<column_name>'] = np.where((<filter 1> ) & (<filter 2>) , <new value>, df['column_name'])