Python 带熊猫的数据帧的数据帧
我有以下数据框收集2个度量A和B的每日统计数据:Python 带熊猫的数据帧的数据帧,python,pandas,Python,Pandas,我有以下数据框收集2个度量A和B的每日统计数据: A B count 17266.000000 17266.000000 std 0.179003 0.178781 75% 101.102251 101.053214 min 100.700993 100.651956 mean 101.016747 100.964003 max 101.540214
A B
count 17266.000000 17266.000000
std 0.179003 0.178781
75% 101.102251 101.053214
min 100.700993 100.651956
mean 101.016747 100.964003
max 101.540214 101.491178
50% 100.988465 100.938694
25% 100.885251 100.830048
下面是创建它的一段代码:
day1 = {
'A': {
'count': 17266.0,
'std': 0.17900265293286116,
'min': 100.70099294189714,
'max': 101.54021448871775,
'50%': 100.98846526697825,
'25%': 100.88525124427971,
'75%': 101.10225131847992,
'mean': 101.01674677794136
},
'B': {
'count': 17266.0,
'std': 0.17878125983374854,
'min': 100.65195609992342,
'max': 101.49117764674403,
'50%': 100.93869409089723,
'25%': 100.83004837814667,
'75%': 101.05321447650618,
'mean': 100.96400305527138
}
}
df = pandas.DataFrame.from_dict(day1, orient='index').T
数据直接来自于descripe()。我有几个这样的描述(每天一个),我想把它们都收集到一个以日期为索引的数据框中
最明显的方法是将所有每日结果叠加到一个数据帧中,然后按天分组并对结果运行统计数据。但是,我希望使用另一种方法,因为我遇到了一个内存错误,并且处理了大量的数据
最终结果应如下所示:
A B
2014-12-24 count 15895.000000 15895.000000
mean 99.943618 99.968860
std 0.012468 0.011932
min 99.877695 99.928778
25% 99.934890 99.960445
50% 99.943453 99.968847
75% 99.952340 99.977571
max 99.982930 100.002507
2014-12-25 count 16278.000000 16278.000000
mean 99.937056 99.962203
std 0.012395 0.012661
min 99.884501 99.910567
25% 99.928078 99.953758
50% 99.936754 99.962411
75% 99.945914 99.971473
max 99.981512 100.003770
如果你能对{date:description_df_for_that_day}进行记录,那么你可以使用 从您的
df
开始:
In [14]: d = {'2014-12-24': df, '2014-12-25': df}
In [15]: pd.concat(d)
Out[15]:
A B
2014-12-24 count 17266.000000 17266.000000
std 0.179003 0.178781
75% 101.102251 101.053214
min 100.700993 100.651956
mean 101.016747 100.964003
max 101.540214 101.491178
50% 100.988465 100.938694
25% 100.885251 100.830048
2014-12-25 count 17266.000000 17266.000000
std 0.179003 0.178781
75% 101.102251 101.053214
min 100.700993 100.651956
mean 101.016747 100.964003
max 101.540214 101.491178
50% 100.988465 100.938694
25% 100.885251 100.830048
当然,你可以把键变成真实的日期,而不是字符串。你能把日期描述成日期吗?然后你可以使用pd.concat(dict)是的,我当然是。。。这是难以置信的简单,但它的工作很好,谢谢你!如果你把你的评论升级为一个答案,我将很乐意接受。