【发布时间】:2016-12-31 06:00:16
【问题描述】:
第一次发帖,请原谅我问这个问题的方式不圆滑。
我正在解决一个问题,在找到符合特定条件的行后,我无法更改 DataFrame 的值。
data = pd.read_csv('students.csv')
索引为:StudentId、Tuition、Scholarship、CreditScore、City、 高中
我只寻找高中 == 'x' 和 CreditScore == 'y' 的学生,然后将他们的奖学金浮动从 0.0 更改为 8.5。
请注意,有多个学生的奖学金数字为 0.0,我正在尝试仅更改 HighSchool=='x' 和 CreditScore=='y' 的学生的奖学金值。
我遇到的问题是,当我找到符合我的标准的行并尝试更改奖学金值时,pandas 只会更改似乎是 DataFrame 副本的值。我想更改 DataFrame 的值。
我试过了:
data[data[([Highschool]=='x') & ([CreditScore]=='y')]]['Scholarship'] = 8.5
data[data[([Highschool]=='x') & ([CreditScore]=='y')]]['Scholarship'].replace(0, 8.5, inplace=True)
但是,在检查 data[data[([Highschool]=='x') & ([CreditScore]=='y')]]['Scholarship'] 后,“奖学金”的选定结果仍然显示 0.0。
有什么更好的方法可以更改符合搜索条件的列的值?
谢谢。
【问题讨论】: