gpt4 book ai didi

python - 如何将重复的数据 block 拆分为多列并解析日期时间?

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:51 24 4
gpt4 key购买 nike

import pandas as pd
f = pd.read_table('151101.mnd',header = 30)
print f.head()
print f.shape


2015-11-01 00:10:00 00:10:00
0 # z speed dir W sigW bck error
1 30 5.05 333.0 0.23 0.13 1.44E+05 0.00
2 40 5.05 337.1 -0.02 0.14 7.69E+03 0.00
3 50 5.03 338.5 0.00 0.15 4.83E+03 0.00
4 60 6.21 344.3 -0.09 0.18 6.13E+03 0.00

(4607, 1)

基本上我有一个用 pandas 读入的文件。我想做两件事。

  1. 我想将 Time header 存储为名为时间的变量。其中棘手的部分是,每 33 行就有另一个数据 block 从当天的数据中接下来的 10 分钟开始。所以我猜想每 33 行我需要获取 Time header 并将其存储为变量时间。

  2. 当我打印出文件的形状时,它显示有 4,607 行 和 1 列。但是我想将这个“一列文本”分成 8 列。 索引z速度目录wsigwbck错误

我如何完成这两件事?

最佳答案

情况 (1) 行在同一步骤中重复

<小时/>
pd.read_table(sep = '\s+', skiprows = np.arange(0 , 4607, 32))

情况(2)不需要的行随机出现

<小时/>

如果不是,您必须手动删除它,因此您需要首先将数据加载到单列中

df = pd.read_table()

那么您需要通过执行以下操作来检测不需要的列

indices_to_remove = df.iloc[: , 0].str.contains('^\s*\d{4}\-\d{2}\-\d{2}') 

然后仅切片所需的列

df[~indices_to_remove]

然后最终创建最终的数据框

pd.DataFrame(list(df[~indices_to_remove].iloc[: , 0].str.split('\s+')))

关于python - 如何将重复的数据 block 拆分为多列并解析日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33831395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com