如何将常数分配给PANDAS数据框的子集



此代码抛出了众所周知且令人难以置信的"一个值"试图将一个值设置在dataframe中的slice副本上。我已经阅读了有关该网站上主题的几个主题,但找不到任何有用的信息。

df = load_data() # comes straight from pandas.read_sql()
f_200 = df.Programm.str.contains(r'(?:-CMF|8$)')
df['Groesse'] = '150'
df['Groesse'][f_200] = '200' # this throws the warning

出于这个问题的目的,我试图用最小的代码重现错误:

a = pandas.DataFrame([1,2], columns=["a"])
i = pandas.Series([True, False])
a['a'][i] = 10

但是,这很好。我不明白。从呼叫pandas.read_sql((的数据框架获得的数据框架是否有任何关系?

我有一个Inkling .loc会有所帮助,所以我尝试了所有这些:

df.loc['Groesse'][f_200]
df['Groesse'].loc[f_200]
df.loc['Groesse', f_200]

他们都没有工作。我已经看到了耶斯雷尔(Jezrael(提到的帖子,但是第一次没有关注行索引者第一。所以我尝试了:

df.loc[f_200, 'Groesse']

它有效。谢谢!

最新更新