python-3.x - 如何将 DataFrame 中的列与时间序列数据中的每个日期相加
问题描述
这是示例
'''
df = pd.DataFrame({'Country': ['United States', 'China', 'Italy', 'spain'],
'2020-01-01' : [0, 2, 1, 0]
'2020-01-02' : [1, 0, 1, 2]
'2020-01-03' : [0, 3, 2, 0]
df
'''
我想按日期对列的值求和,以便下一列具有附加值.__ 这意味着 2020-01-02 具有新的附加值 (2020-01-01+2020-01-02) 等等。 .
解决方案
将Country
列转换为索引DataFrame.set_index
并DataFrame.cumsum
按每行使用axis=1
:
df = df.set_index('Country').cumsum(axis=1)
print (df)
2020-01-01 2020-01-02 2020-01-03
Country
United States 0 1 1
China 2 2 5
Italy 1 2 4
spain 0 2 2
或者选择所有没有 first by DataFrame.iloc
before的列cumsum
:
df.iloc[:, 1:] = df.iloc[:, 1:].cumsum(axis=1)
print (df)
Country 2020-01-01 2020-01-02 2020-01-03
0 United States 0 1 1
1 China 2 2 5
2 Italy 1 2 4
3 spain 0 2 2
推荐阅读
- r - 在线图 r 中绘制分组变量
- excel - 使用 VBA 将单词与数字分开
- java - 如何从左到上更改 Android TV 应用中标题的位置?
- android - 如何使用向量打印文件中的单词列表,每次用户查询 [C++] 一次?
- powershell - ms access.exe挂起powershell时发送电子邮件
- sql - SQL 嵌套 IIF 函数
- cassandra - cassandra-reaper:维修一再推迟和卡住
- android - AdMob 永远不会在某些设备上加载
- google-maps - 谷歌静态地图不显示超过 5 个图钉
- sql - SQL从两个表中选择数据并按点排序