数据框中特定行中列的总和值
Sum values of a coulmn in specific rows in a dataframe
我想了解如何在数据框中指定“子集和”
我的数据框如下所示:
Data/Time 列是数据帧的索引
有
Sum = data['A'].sum()
我得到了A列的总和
我的目标是总结 2022-03-18 07:37:51 和 2022-03-18 07:37:55
之间的行子集
所以我得到一个“总和”行:
如何指定要为每一列求和的行号,尤其是当索引为日期时间格式时?
data[(data.index >= '2020-01-01 00:00:16') & (data.index <= '2020-01-01 00:00:17')].sum(axis=0)
简单地说,对每个列总和使用 axis = 0,并通过 a.index >= '2020-01-01 00:00:16' 和等效的上限进行检查
如果你想使用日期时间模块:
from datetime import datetime
data[(data.index >= datetime(2020, 1, 1, 0, 0, 16)) & (data.index <= datetime(2020, 1, 1, 0, 0, 17))].sum(axis=0)
如果您需要 select 行的更通用的标准,而不仅仅是时间范围,那么您可以使用这个:
df = pd.DataFrame([[12,5,7], [13,7,4], [14,7,23], [15,71,9], [16,5,4], [17,55,42]], columns=['T', 'A', 'B'])
print(df)
T A B
0 12 5 7
1 13 7 4
2 14 7 23
3 15 71 9
4 16 5 4
5 17 55 42
range_idx = df['T'].between(13,15) # or another selection
df[range_idx]
T A B
1 13 7 4
2 14 7 23
3 15 71 9
df[range_idx][['A','B']].sum()
Out[42]:
A 85
B 36
我想了解如何在数据框中指定“子集和”
我的数据框如下所示:
Data/Time 列是数据帧的索引
有
Sum = data['A'].sum()
我得到了A列的总和
我的目标是总结 2022-03-18 07:37:51 和 2022-03-18 07:37:55
之间的行子集所以我得到一个“总和”行:
如何指定要为每一列求和的行号,尤其是当索引为日期时间格式时?
data[(data.index >= '2020-01-01 00:00:16') & (data.index <= '2020-01-01 00:00:17')].sum(axis=0)
简单地说,对每个列总和使用 axis = 0,并通过 a.index >= '2020-01-01 00:00:16' 和等效的上限进行检查
如果你想使用日期时间模块:
from datetime import datetime
data[(data.index >= datetime(2020, 1, 1, 0, 0, 16)) & (data.index <= datetime(2020, 1, 1, 0, 0, 17))].sum(axis=0)
如果您需要 select 行的更通用的标准,而不仅仅是时间范围,那么您可以使用这个:
df = pd.DataFrame([[12,5,7], [13,7,4], [14,7,23], [15,71,9], [16,5,4], [17,55,42]], columns=['T', 'A', 'B'])
print(df)
T A B
0 12 5 7
1 13 7 4
2 14 7 23
3 15 71 9
4 16 5 4
5 17 55 42
range_idx = df['T'].between(13,15) # or another selection
df[range_idx]
T A B
1 13 7 4
2 14 7 23
3 15 71 9
df[range_idx][['A','B']].sum()
Out[42]:
A 85
B 36