0

当条件表达式 c1 = 2017-04-01 成立时,我们想用数字 300.0 替换 c3。

结果,用 300.0 代替 r3 和 c3。但是,条件表达式不是 r3 列:c1 = 2017-04-01 是要组织的 r3,所以它变成了行。

import pandas as pd
df=pd.DataFrame(
  [["2017-02-01",10.,100.],
  ["2017-03-01",20.,'Nan'],
  ["2017-04-01",30.,'Nan'],
  ["2017-05-01",40.,'Nan']],
  index=['r1','r2','r3','r4'],
  columns=['c1','c2','c3']
  )
df

###########################
     c1           c2    c3
r1  2017-02-01  10.0    100
r2  2017-03-01  20.0    Nan
r3  2017-04-01  30.0    Nan
r4  2017-05-01  40.0    Nan

我该怎么办?

4

1 回答 1

0

一种选择是使用

df.loc[(df['c1'] == '2017-04-01'), ['column_you_need_to_change']] = 1.

上述行查找其 c1 列具有“2017-04-01”作为值的所有行,并将所需列的值更改为一个数字,在上述情况 1 中。

希望能帮助到你。

于 2019-05-10T15:11:14.660 回答