pandas 如何将某一列大于 0 的数字全部置为 1

2018-09-28 20:50:54 +08:00
 zcsnbb

date rtn 0 2016-01-01 0.101536 1 2016-01-02 0.055109 2 2016-01-03 -0.163625 3 2016-01-04 0.086756 4 2016-01-05 0.035907 5 2016-01-06 0.047619 6 2016-01-07 0.018717 7 2016-01-08 -0.036290

这样子的 df

大佬帮帮忙,实在搞不出来了

3825 次点击
所在节点    Python
6 条回复
neosfung
2018-09-28 21:12:13 +08:00
df['rtn'] = df['rtn'].apply(lambda x: 1 if x>0 else x)
jswangjieda
2018-09-28 21:40:14 +08:00
df.loc[df['rtn']>0,'rtn']=1
ddzzhen
2018-09-28 22:43:41 +08:00
直接改为 true,false 矩阵
lieh222
2018-09-29 08:38:47 +08:00
x = x**0
lieh222
2018-09-29 08:39:22 +08:00
@lieh222 写错,请忽略。。。
qianc1990
2018-09-29 15:32:59 +08:00
df['rtn'] = np.where(df['rtn']>0, 1, df['rtn'])

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/493639

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX