花了相当多的时间观察SO上的r和pandas标签,我得到的印象是pandas问题不太可能包含可重现的数据.这是值得的R社会一直要鼓励不错,并感谢像导游这样,新人能得到放在一起,这些例子一些帮助.能够阅读这些指南并返回可重现数据的人通常会更好地获得他们问题的答案.
我们如何为pandas问题创建良好的可重复示例?简单的数据帧可以放在一起,例如:
import pandas as pd
df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice'],
'income': [40000, 50000, 42000]})
Run Code Online (Sandbox Code Playgroud)
但是许多示例数据集需要更复杂的结构,例如:
datetime 指数或数据expand.grid()函数,它会产生某些给定变量的所有可能组合?)对于dput()难以使用几行代码进行模拟的数据集,是否有与R相当的R ,它允许您生成可复制粘贴的代码以重新生成数据结构?
事实上,我有两年来每天每分钟测量的 150 MB 数据。我在这里给出了示例数据。我想创建一个新的数据框,其中包含每天的最大值及其时间戳。我的样本数据是:
DateTime Power
01-Aug-16 10:43:00.000 229.9607961
01-Aug-16 10:43:23.000 230.9030781
01-Aug-16 10:44:00.000 231.716212
01-Aug-16 10:45:00.000 232.4485882
01-Aug-16 10:46:00.000 233.2739154
02-Aug-16 09:42:00.000 229.6851724
02-Aug-16 09:43:00.000 230.9163998
02-Aug-16 09:43:06.000 230.9883337
02-Aug-16 09:44:00.000 231.2569098
02-Aug-16 09:49:00.000 229.5774805
02-Aug-16 09:50:00.000 229.8758693
02-Aug-16 09:51:00.000 229.9825204
03-Aug-16 10:09:00.000 231.3605982
03-Aug-16 10:10:00.000 231.6827163
03-Aug-16 10:11:00.000 231.1580262
03-Aug-16 10:12:00.000 230.4054286
03-Aug-16 10:13:00.000 229.6507959
03-Aug-16 10:13:02.000 229.6268353
03-Aug-16 10:14:00.000 230.4584964
03-Aug-16 10:15:00.000 230.9004206
03-Aug-16 10:16:00.000 231.189036
Run Code Online (Sandbox Code Playgroud)
我现在的代码是:
max_per_day = df.groupby(pd.Grouper(key='time',freq='D')).max()
print(max_per_day)
Run Code Online (Sandbox Code Playgroud)
我目前的输出是:
time
2016-08-01 237.243835
2016-08-02 239.658539 …Run Code Online (Sandbox Code Playgroud)