【问题标题】:Replacing constant values with nan用 nan 替换常量值
【发布时间】:2021-03-02 01:06:21
【问题描述】:
import pandas as pd
data={'col1':[1,3,3,1,2,3,2,2]}
df=pd.DataFrame(data,columns=['col1'])
print df


     col1  
0     1          
1     3          
2     3          
3     1          
4     2          
5     3          
6     2          
7     2    
Expected result:
      Col1 newCol1
0    1.      1
1    3.      3
2    3.      NaN
3.   1.      1
4    2.      2
5    3.      3
6    2.      2
7.   2.      Nan

【问题讨论】:

  • 好奇你为什么要这样做;将 nans 注入桌子会让人感觉有一种更好的方式来做你想做的事。

标签: python-3.x pandas data-science


【解决方案1】:

尝试将whereshift 结合使用

df['col2'] = df.col1.where(df.col1.ne(df.col1.shift()))
df
Out[191]: 
   col1  col2
0     1   1.0
1     3   3.0
2     3   NaN
3     1   1.0
4     2   2.0
5     3   3.0
6     2   2.0
7     2   NaN

【讨论】:

    猜你喜欢
    • 2016-06-25
    • 2019-09-29
    • 2020-05-02
    • 2021-06-22
    • 1970-01-01
    • 2017-06-21
    • 2021-04-13
    • 1970-01-01
    • 2013-04-01
    相关资源
    最近更新 更多