小编Chr*_*wne的帖子

Pandas:合并数据框但汇总重叠的列

我一直在阅读很多关于merge()join()方法的帖子pandas.DataFrames,并针对我自己的问题尝试了这些,但还没有完全找到解决方案。

我有一个非常大的数据文件 (.csv),其中包含各种 ID 的每小时消耗量。我想汇总每个月每个 ID 的消耗量。

由于内存限制,我需要分read_csv块处理每小时消耗文件(使用chunk_size选项),并最终加载了几个月的 ID 消耗数据帧,例如:

df1 = 
 Month  Dec  Nov
ID             
XXX    4.0  1.0
YYY    8.0  3.0
ZZZ    4.0  1.0 

df2 = 
 Month  Dec  Nov  Oct
ID                  
AAA    1.0  7.0  9.0
BBB    0.0  NaN  2.0
YYY    5.0  5.0  0.0
Run Code Online (Sandbox Code Playgroud)

为这篇文章生成:

df1 = pd.DataFrame({'ID': ['XXX','XXX','YYY','YYY','ZZZ','ZZZ'], 
                    'Month': ['Nov','Dec']*3, 
                    'Consumption': [1.0,4.0,3.0,8.0,1.0,4.0]})
df1 = df1.pivot(index='ID', columns='Month', values='Consumption')
df2 = pd.DataFrame({'ID': ['AAA','AAA','AAA','YYY','YYY','YYY','BBB','BBB','BBB'], 
                    'Month': ['Oct','Nov','Dec']*3, 
                    'Consumption': [9,7,1,0,5,5,2,np.nan,0]})
df2 = df2.pivot(index='ID', columns='Month', …
Run Code Online (Sandbox Code Playgroud)

python pandas

7
推荐指数
1
解决办法
2449
查看次数

Pandas DataFrame:如何根据特定列中的值整齐地选择数据?

对于DataFrame,我想基于某些列的值来选择行,例如对于数据帧:

import pandas as pd

d = {'category': ['a', 'a', 'a', 'a', 'b', 'b', 'b', 'b', 'c', 'c', 'c', 'c'],
     'colour': ['red', 'blue', 'green', 'orange', 'red', 'blue', 'green', 'orange', 'red', 'blue', 'green', 'orange'],
     'amount': [28.1, 5.6, 43.6, 13.3, 4.1, 27.6, 19.7, 37.5, 26.7, 73.7, 94.4, 77.5],
     'scalar': [3.4, 2.8, 3.4, 1.7, 2.2, 0.8, 1.9, 0.3, 2.4, 0.2, 0.5, 1.5]}
df = pd.DataFrame(d)
Run Code Online (Sandbox Code Playgroud)

结果是:

   category  colour  amount  scalar
0         a     red    28.1     3.4
1         a    blue     5.6     2.8
2         a   green …
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas

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

标签 统计

pandas ×2

python ×2

python-3.x ×1