我对.loc
的用法有疑问。我在文档中找不到明确的答案。
说我有一个像:
import pandas as pd
import numpy as np
df = pd.DataFrame({"A": np.random.random(1000), "B": np.random.random(1000)})
如果A列中的值为>我想在新列中创建1 0.1。使用一些布尔逻辑:
crit = df['A'] > .1
现在,以这种方式使用.loc
:
df['New Column'] = 0
df['New Column'].loc[crit] = 1
不同于:
df['New Column'] = 0
df.loc[crit, 'New Column'] = 1
使用第一种方式,我不断获得SettingWithCopyWarning
,但值似乎在df中发生了变化。