- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个表格,其中日期和时间的格式为 year:day_of_year:seconds_of_day
(第 2 列)。可以找到示例文件 here
ABCD 15:010:00000 2564.6 4.0 -0.380 0.417 -1.313 0.520
ABCD 15:010:00300 2564.3 3.7 -0.389 0.396 -1.318 0.503
ABCD 15:010:00600 2563.9 3.5 -0.397 0.389 -1.324 0.496
ABCD 15:010:00900 2563.9 3.3 -0.411 0.368 -1.322 0.476
ABCD 15:010:01200 2563.8 3.0 -0.425 0.361 -1.320 0.466
ABCD 15:010:01500 2563.9 2.8 -0.432 0.340 -1.312 0.447
ABCD 15:010:01800 2564.3 2.6 -0.439 0.334 -1.304 0.439
我使用 pandas 包将上面的表格放在 pandas.DataFrame
中:
names=['Site', 'Epoch', 'TroTot', 'Stdev','TgnTot', 'TgnStd', 'TgeTot', 'TgeStd']
parser = lambda x: pd.datetime.strptime(x, '%y:%j:%???')
df = pd.read_csv([FILE][1],
header=None,
names=names,
delim_whitespace=True,
parse_dates=['Epoch'],
date_parser=parser)
我查看了文档,但在我看来,一天中的秒数没有格式。我怎样才能更改解析器函数以正确处理这种格式?
最佳答案
您可以先按原样读取您的 CSV 文件(不解析日期):
In [207]: df = pd.read_csv(fn, delim_whitespace=True, header=None, names=names)
In [208]: df
Out[208]:
Site Epoch TroTot Stdev TgnTot TgnStd TgeTot TgeStd
0 ABCD 15:010:00000 2564.6 4.0 -0.380 0.417 -1.313 0.520
1 ABCD 15:010:00300 2564.3 3.7 -0.389 0.396 -1.318 0.503
2 ABCD 15:010:00600 2563.9 3.5 -0.397 0.389 -1.324 0.496
3 ABCD 15:010:00900 2563.9 3.3 -0.411 0.368 -1.322 0.476
4 ABCD 15:010:01200 2563.8 3.0 -0.425 0.361 -1.320 0.466
5 ABCD 15:010:01500 2563.9 2.8 -0.432 0.340 -1.312 0.447
6 ABCD 15:010:01800 2564.3 2.6 -0.439 0.334 -1.304 0.439
7 ABCD 15:010:02100 2564.5 2.5 -0.453 0.314 -1.302 0.423
8 ABCD 15:010:02400 2564.2 2.4 -0.467 0.309 -1.299 0.419
9 ABCD 15:010:02700 2563.7 2.3 -0.482 0.287 -1.305 0.404
.. ... ... ... ... ... ... ... ...
278 ABCD 15:010:83400 2561.6 2.2 0.033 0.276 -0.894 0.416
279 ABCD 15:010:83700 2562.1 2.2 0.053 0.271 -0.897 0.418
280 ABCD 15:010:84000 2562.7 2.3 0.073 0.285 -0.899 0.431
281 ABCD 15:010:84300 2562.6 2.3 0.108 0.283 -0.869 0.431
282 ABCD 15:010:84600 2562.7 2.3 0.144 0.299 -0.839 0.442
283 ABCD 15:010:84900 2562.4 2.3 0.175 0.298 -0.824 0.441
284 ABCD 15:010:85200 2562.4 2.3 0.207 0.313 -0.810 0.450
285 ABCD 15:010:85500 2562.1 2.3 0.228 0.314 -0.805 0.453
286 ABCD 15:010:85800 2562.2 2.5 0.249 0.331 -0.801 0.467
287 ABCD 15:010:86100 2562.6 2.7 0.253 0.337 -0.796 0.473
[288 rows x 8 columns]
现在您可以按如下方式解析 Epoch
:
In [209]: df['Epoch'] = pd.to_datetime(df['Epoch'].str[:6], format='%y:%j') + \
...: pd.to_timedelta(df['Epoch'].str[7:].astype(int), unit='s')
...:
In [210]: df
Out[210]:
Site Epoch TroTot Stdev TgnTot TgnStd TgeTot TgeStd
0 ABCD 2015-01-10 00:00:00 2564.6 4.0 -0.380 0.417 -1.313 0.520
1 ABCD 2015-01-10 00:05:00 2564.3 3.7 -0.389 0.396 -1.318 0.503
2 ABCD 2015-01-10 00:10:00 2563.9 3.5 -0.397 0.389 -1.324 0.496
3 ABCD 2015-01-10 00:15:00 2563.9 3.3 -0.411 0.368 -1.322 0.476
4 ABCD 2015-01-10 00:20:00 2563.8 3.0 -0.425 0.361 -1.320 0.466
5 ABCD 2015-01-10 00:25:00 2563.9 2.8 -0.432 0.340 -1.312 0.447
6 ABCD 2015-01-10 00:30:00 2564.3 2.6 -0.439 0.334 -1.304 0.439
7 ABCD 2015-01-10 00:35:00 2564.5 2.5 -0.453 0.314 -1.302 0.423
8 ABCD 2015-01-10 00:40:00 2564.2 2.4 -0.467 0.309 -1.299 0.419
9 ABCD 2015-01-10 00:45:00 2563.7 2.3 -0.482 0.287 -1.305 0.404
.. ... ... ... ... ... ... ... ...
278 ABCD 2015-01-10 23:10:00 2561.6 2.2 0.033 0.276 -0.894 0.416
279 ABCD 2015-01-10 23:15:00 2562.1 2.2 0.053 0.271 -0.897 0.418
280 ABCD 2015-01-10 23:20:00 2562.7 2.3 0.073 0.285 -0.899 0.431
281 ABCD 2015-01-10 23:25:00 2562.6 2.3 0.108 0.283 -0.869 0.431
282 ABCD 2015-01-10 23:30:00 2562.7 2.3 0.144 0.299 -0.839 0.442
283 ABCD 2015-01-10 23:35:00 2562.4 2.3 0.175 0.298 -0.824 0.441
284 ABCD 2015-01-10 23:40:00 2562.4 2.3 0.207 0.313 -0.810 0.450
285 ABCD 2015-01-10 23:45:00 2562.1 2.3 0.228 0.314 -0.805 0.453
286 ABCD 2015-01-10 23:50:00 2562.2 2.5 0.249 0.331 -0.801 0.467
287 ABCD 2015-01-10 23:55:00 2562.6 2.7 0.253 0.337 -0.796 0.473
[288 rows x 8 columns]
检查:
In [211]: df.dtypes
Out[211]:
Site object
Epoch datetime64[ns]
TroTot float64
Stdev float64
TgnTot float64
TgnStd float64
TgeTot float64
TgeStd float64
dtype: object
关于python - :doy:sod format 年的 Pandas date_parser 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42736986/
我在运行 GNU Visual Debugger 1.2.6 的 XP 虚拟机上尝试打开 Ada 文件 (.adb),但不断出现以下错误: not in executable format: File
我正在尝试获取 io:format/1 的输出结果。 我知道io_lib中也有类似的函数,io_lib:format/2,但是输出不一样。事实上,它根本没有做任何事情。 如果我尝试绑定(bind) i
我在 documentation 中找不到任何内容, 甚至 BreakBeforeBraces: Allman格式化我已经拆分的单行函数 void foo() { bar(); } 我想要类似的东西
请考虑函数f: open Format let rec f i = match i with | x when x () | i -> pp_open_hovbox std_form
如何在列表中的每三个参数后添加一个回车符(使用 ~%)? 例如,我现在: (format nil "~{~a ~}" (list '"one" '"two" '"three" '"four" '"fi
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
当我尝试在 Ubuntu 上编译 fprintf(stderr,Usage) 时,我遇到了这个错误: error: format not a string literal and no format
运行 cv2.getRectSubPix(img, (5,5), (0,0)) 抛出错误: OpenCV Error: Unsupported format or combination of for
我正在 cocos2d-x-2.1.4 上开发游戏,但是,当我尝试在 Android 上构建它时,它失败并出现错误:格式不是字符串文字且没有格式参数 [-Werror=format-安全] 在文件 C
运行时: $ clang-format -style=Google -dump-config > .clang-format 文件后附有省略号 (...)。 TabWidth: 8 Us
我想在纯函数中将 double 型转换为字符串。我很困惑为什么这不是纯粹的: wstring fromNumber(double n) pure { import std.format;
Common Lisp 的 format 是否有一个特别容易阅读的实现? 我找到了 SBCL's version ,但由于 SBCL 以 性能 Common Lisp 实现而著称,我想知道是否有一个更
嗨,我正在尝试在 JSP 页面上格式化字符串,它给了我错误,正如我在标题中提到的,我的代码是, String header=""; header = 12-29-2011 15;
clang-format 将我的行拆分为 80 列。有没有办法让停止断线? documentation似乎没有解决这个问题。 最佳答案 负责它的配置选项称为 ColumnLimit .您可以通过将其设
我有一个Angular 11项目,试图集成SpreadJS Designer,但在ngcc步骤Compiling @grapecity/spread-sheets-designer-angular :
我正在使用 clang-format 4.0.0来对齐我的个人项目。 我将以下配置用于 clang-format 。 Language: Cpp BreakBeforeBraces: A
我正在使用- char str[200]; ... sprintf(str,"%s", val) msg(str); sprintf(str, "%s: %s",timestr,"\n recv -"
我有这个 double 值: var value = 52.30298270000003 当我将它转换为 string 时,它失去了它的精度: var str = string.Format("{0}
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 8 年前。 Improve
如何使用 clang-format 始终将冒号左对齐。我不希望它被禁用:1234,但禁用:1234。 #pragma warning(disable: 1234) 最佳答案 我猜你需要这个。 Spac
我是一名优秀的程序员,十分优秀!