繁体   English   中英

在包含列表的嵌套数据帧上执行算术运算

[英]Performing Arithmetic operations on nested dataframe containing a list

我有一个名为dailyHistogram的数据框,定义如下:

 dailyHistogram = pd.DataFrame({'NumVisits':[[0 for x in range(1440)] for y in range (180)], 'DoW': [0]*ReportingDateRange.size } ,columns=['NumVisits','DoF'], index=ReportingDateRange) 

其中NumVisits是二维数组(1440 x 180),并保存180天内某些活动的直方图。 DoW只是一个包含星期几的列。 该数据框中的索引是活动发生的日期。

我的问题是对dailyHistogram [“ NumVisits”]执行任何操作。

这是dailyHistogram [“ NumVisits”]的样子:

> dailyHistogram["NumVisits"] 

> Out[193]:  
> 2016-01-01    [5, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
> 
> 2016-01-02    [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
> 
> 2016-01-03    [6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
> 
> 2016-01-04    [8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
> 
> 2016-06-26    [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
> 
> 2016-06-27    [4, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
> 
> 2016-06-28    [7, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
> 
> 2016-06-29    [7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
> 
> 2016-06-30    [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
> 
> Freq: D, Name: NumVisits, dtype: object

我想总结一周中特定日期的“ NumVisits”中的所有向量,但是对DailyHistogram [“ NumVisits”]似乎无法进行任何算术运算

那是因为NumVisits是一个列表,并且要对列表的内容执行算术运算,您需要显式应用函数。 例如:

df['NumVisits'].apply(sum)

对于每一行中的逐元素总和:

import numpy as np
df['NumVisits'].apply(np.cumsum)

对于所有行的总和,对于行中的每个元素:

np.array(dailyHistogram['NumVisits'].tolist()).sum(axis=0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM