相关疑难解决方法(0)

有条件的替换熊猫

我可能做的事非常愚蠢,但我很难过.

我有一个数据框,我想替换特定列中超过零值的值.我原以为这是实现这个目标的一种方式:

df[df.my_channel > 20000].my_channel = 0
Run Code Online (Sandbox Code Playgroud)

如果我将频道复制到新的数据框中,那很简单:

df2 = df.my_channel 

df2[df2 > 20000] = 0
Run Code Online (Sandbox Code Playgroud)

这正是我想要的,但似乎不能将频道作为原始数据帧的一部分.

python replace series conditional-statements pandas

101
推荐指数
5
解决办法
16万
查看次数

在pandas中提取日期时间类型列的第一天

我有以下数据帧:

user_id    purchase_date 
  1        2015-01-23 14:05:21
  2        2015-02-05 05:07:30
  3        2015-02-18 17:08:51
  4        2015-03-21 17:07:30
  5        2015-03-11 18:32:56
  6        2015-03-03 11:02:30
Run Code Online (Sandbox Code Playgroud)

并且purchase_date是一个datetime64[ns]专栏.我需要添加一个新列df[month],其中包含购买日期的第一天:

df['month']
2015-01-01
2015-02-01
2015-02-01
2015-03-01
2015-03-01
2015-03-01
Run Code Online (Sandbox Code Playgroud)

我正在寻找像DATE_FORMAT(purchase_date, "%Y-%m-01") mSQL 一样的东西.我试过以下代码:

     df['month']=df['purchase_date'].apply(lambda x : x.replace(day=1))
Run Code Online (Sandbox Code Playgroud)

它以某种方式工作但返回:2015-01-01 14:05:21.

python dataframe pandas datetime64

24
推荐指数
5
解决办法
1万
查看次数