小编use*_*067的帖子

对列进行求和以形成新的数据帧

我有一个DataFrame

                A              B             C            D
2015-07-18  4.534390e+05  2.990611e+05  5.706540e+05  4.554383e+05   
2015-07-22  3.991351e+05  2.606576e+05  3.876394e+05  4.019723e+05   
2015-08-07  1.085791e+05  8.215599e+04  1.356295e+05  1.096541e+05   
2015-08-19  1.397305e+06  8.681048e+05  1.672141e+06  1.403100e+06  
...
Run Code Online (Sandbox Code Playgroud)

我只想总结所有列以获得新的数据帧

      A   B  C  D
sum   s   s  s  s 
Run Code Online (Sandbox Code Playgroud)

使用列式和然后打印它to_csv().何时使用

 df.sum(axis=0)
 print(df)


 A       9.099377e+06
 B       5.897003e+06
 C       1.049932e+07
 D       9.208681e+06
 dtype: float64
Run Code Online (Sandbox Code Playgroud)

python numpy dataframe pandas

11
推荐指数
1
解决办法
340
查看次数

Pandas:在两个日期之间选择DataFrame行(日期时间索引)

我有一个带有DatetimeIndex的Pandas DataFrame和一列MSE Loss 索引的格式如下:

DatetimeIndex(['2015-07-16 07:14:41', '2015-07-16 07:14:48',
           '2015-07-16 07:14:54', '2015-07-16 07:15:01',
           '2015-07-16 07:15:07', '2015-07-16 07:15:14',...]
Run Code Online (Sandbox Code Playgroud)

它包括几天.

我想要选择特定日期的所有行(所有时间),而不是特别知道实际的时间间隔.例如:在2015-07-16 07:00:00和之间2015-07-16 23:00:00

我尝试了这里概述的方法:这里

df[date_from:date_to]

输出:

KeyError: Timestamp('2015-07-16 07:00:00')
Run Code Online (Sandbox Code Playgroud)

所以它想要精确的指数.此外,我没有date专栏.只有带日期的索引.

通过提供日期来选择一整天的最佳方式是什么2015-07-16,然后我如何在特定日期内选择特定的时间范围?

python indexing datetime dataframe pandas

9
推荐指数
2
解决办法
1万
查看次数

Pandas:沿运行时定义的每一行列的映射函数(使用 *args)

我想使用 *args 对 Pandas DataFrame 的行数据应用函数。可以这样完成(检索最大行的玩具示例):

df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
def f(*args):
   cols = [c for c in args]
   return max(cols)

m = list(map(f,df['A'],df['B'],df['C'],df['D']))
Run Code Online (Sandbox Code Playgroud)

有没有办法以这种方式做到这一点,而不必单独列出所有列?例如,当数据帧具有在运行时定义的任意列时。

找到最大值也可以用更简单的方法来完成,但是如何将任意函数应用于行(如果 *args 不可能)

python dataframe pandas

6
推荐指数
1
解决办法
2万
查看次数

Pandas:使用日期列表和DateTimeIndex访问数据

我有一个pandas DataFrame DateTimeIndex:

                           A          B
2016-04-25 18:50:06   440.967796   201.049600  
2016-04-25 18:50:13   441.054995   200.767034  
2016-04-25 18:50:20   441.142337   200.484475
...
2016-07-27 18:50:06   440.967796   201.049600  
2016-07-27 18:50:13   441.054995   200.767034  
2016-07-27 18:50:20   441.142337   200.484475
Run Code Online (Sandbox Code Playgroud)

我想yyyy-mm-dd使用日期列表提取给定日期的所有数据:['2016-04-25','2016-04-28',...]

我尝试了以下方法:

 df[df.index.isin(['2016-04-25', '2016-04-26'])]

 Empty DataFrame
Run Code Online (Sandbox Code Playgroud)

我想检索此列表中给出的日期的所有数据(一整天的数据)

python dataframe pandas datetimeindex

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

Pandas:用于在DataFrame中设置值的三元条件运算符

我有一个数据帧pd.我想irr根据是否高于或低于thresh hold 更改列的值.

我怎么能在一行中做到这一点?我现在有

pd['irr'] = pd['irr'][pd['cs']*0.63 > pd['irr']] = 1.0
pd['irr'] = pd['irr'][pd['cs']*0.63 <=  pd['irr']] = 0.0
Run Code Online (Sandbox Code Playgroud)

问题当然是我irr在下一行再次更改并检查它.

是否有类似熊猫三元条件运算符的东西?

python conditional pandas

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

Pandas date_range具有特定的时间范围

我试图pd.date_range()创建一个DatetimeIndex跨越多天的频率,以秒为单位.但是,每天的时间范围应限制在05:00:00至22:00:00之间

一些事情(当然不起作用):

times_c = pd.date_range(start="2015-01-01",end="2015-01-10",freq="S")
mask_c = ((times_c.time < dt.datetime.strptime("22:00:00", "%H:%M:%S")) | (times_c.time > dt.datetime.strptime("05:00:00","%H:%M:%S")))
times_c = times_c[mask_c]
Run Code Online (Sandbox Code Playgroud)

python indexing datetime pandas

3
推荐指数
1
解决办法
667
查看次数