- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个 DataFrame,它有两个时间戳列,其中一个用作重采样的索引,另一个保留为列。如果我对 DataFrame 重新采样,则作为列保留的那个将被删除。我希望它被重新采样,就好像它是一个数字列(实际上是这样):
import numpy as np
import pandas as pd
init_time=pd.date_range(start='2010-01-01 00:00', end='2010-01-05 00:00', freq='12H')
valid_time=pd.date_range(start='2010-01-01 00:00', end='2010-01-05 00:00', freq='12H')
data = np.random.random(len(valid_time))
frame = pd.DataFrame(index=valid_time, data=data)
frame['init_time'] = init_time
DataFrame 有一个索引、1 个数字列和一个时间戳列
0 init_time
2010-01-01 00:00:00 0.869667 2010-01-01 00:00:00
2010-01-01 12:00:00 0.225805 2010-01-01 12:00:00
2010-01-02 00:00:00 0.348080 2010-01-02 00:00:00
2010-01-02 12:00:00 0.761399 2010-01-02 12:00:00
2010-01-03 00:00:00 0.645069 2010-01-03 00:00:00
2010-01-03 12:00:00 0.133111 2010-01-03 12:00:00
2010-01-04 00:00:00 0.314302 2010-01-04 00:00:00
2010-01-04 12:00:00 0.130491 2010-01-04 12:00:00
2010-01-05 00:00:00 0.621703 2010-01-05 00:00:00
现在每天重新采样:
daily = frame.resample('D', how='mean')
0
2010-01-01 0.547736
2010-01-02 0.554740
2010-01-03 0.389090
2010-01-04 0.222396
2010-01-05 0.621703
我的 init_time
列已被删除。我可以先将其转换为原始整数列,但有更简单的方法吗?
最佳答案
这不是为 datelike (mean) 实现的,但你可以这样做:
获取数值结果
In [48]: numeric = frame.resample('D',how='mean')
获取类似日期的结果。首先获取类似日期的列
In [49]: datelike = frame.loc[:,frame.dtypes.isin([np.dtype('datetime64[ns]')])]
然后重新取样;您需要将它们视为整数才能对其进行计算;时间戳将处理这个浮点输入(并且基本上舍入到最接近的纳秒)
In [50]: datelike = datelike.resample('D',
how=lambda x: Timestamp(x.view('i8').mean()))
把它们放在一起
In [51]: concat([numeric,datelike],axis=1)
Out[51]:
0 init_time
2010-01-01 0.798880 2010-01-01 06:00:00
2010-01-02 0.859781 2010-01-02 06:00:00
2010-01-03 0.515503 2010-01-03 06:00:00
2010-01-04 0.505557 2010-01-04 06:00:00
2010-01-05 0.979835 2010-01-05 00:00:00
[5 rows x 2 columns]
关于python - Pandas 在重采样中删除时间戳列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21878599/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!