【发布时间】:2020-09-24 07:13:51
【问题描述】:
您能帮忙完成以下任务吗?我有一个数据框列,例如:
index df['Q0']
0 1
1 2
2 3
3 5
4 5
5 6
6 7
7 8
8 3
9 2
10 4
11 7
如果 df.loc[0,'Q0'],我想用 df.loc[0:2,'Q0'] 中的值替换 df.loc[3:8,'Q0'] 中的值! =df.loc[3,'Q0']
结果应如下所示:
index df['Q0']
0 1
1 2
2 3
3 1
4 2
5 3
6 1
7 2
8 3
9 2
10 4
11 7
我尝试了以下行:
df.loc[3:8,'Q0'].where(~df.loc[0,'Q0']!=df.loc[3,'Q0']),other=df.loc[0:2,'Q0'],inplace=True)
或
df['Q0'].replace(to_replace=df.loc[3:8,'Q0'], value=df.loc[0:2,'Q0'], inplace=True)
但它不起作用。很可能我做错了什么。 有什么建议吗?
【问题讨论】:
标签: python pandas itertools cycle