Python 对包含列表的嵌套数据帧执行算术运算

Python 对包含列表的嵌套数据帧执行算术运算,python,pandas,Python,Pandas,我有一个名为dailyHistogram的数据帧,定义如下: 其中,NumVisits是一个二维数组(1440 x 180),保存180天内某些活动的直方图。道琼斯指数只是一个列,用来记录一周中的某一天。 此数据框中的索引是活动发生的日期 我的问题是在dailyHistogram[“NumVisits”]上执行任何操作 以下是dailyHistogram[“NumVisits”]的外观: > dailyHistogram["NumVisits"] > Out[193]: &g

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

其中,NumVisits是一个二维数组(1440 x 180),保存180天内某些活动的直方图。道琼斯指数只是一个列,用来记录一周中的某一天。 此数据框中的索引是活动发生的日期

我的问题是在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)

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

df['NumVisits'].apply(sum)

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

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

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

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

完美的这就是我要找的。有没有办法得到一个包含所有numvisit元素和元素的列表?非常感谢您提出的CUMSUM建议。CUMSUM对每一行进行元素对元素的求和。如果我想将每行中的所有第一个元素汇总在一起呢?我说的是沿着列的一个垂直元素到一个元素的求和,而不是水平元素。为此,您必须将其转换为数据帧,或者执行其他操作。。。看这个完美!这就是我要找的。有没有办法得到一个包含所有numvisit元素和元素的列表?非常感谢您提出的CUMSUM建议。CUMSUM对每一行进行元素对元素的求和。如果我想将每行中的所有第一个元素汇总在一起呢?我说的是沿着列的一个垂直元素到一个元素的求和,而不是水平元素。为此,您必须将其转换为数据帧,或者执行其他操作。。。看到这个了吗