使用Python/Pandas,我需要从
0 20100301 000000 0.89894000000 0.89919000000 0.898940000 0.89916000000000014
1 20100301 000100 0.89918000000 0.89919000000 0.898970000 0.8989700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0/1是前两行的索引。20100301是日期,000000/000100是时间。即000100是午夜后一分钟。
救命啊!
我已经试过了所有的方法!
3条答案
按热度按时间avwztpqn1#
你的txt文件没有头,有很多不必要的列,所以我创建了一个新的例子。如果你的原始数据没有头,在
pd.read_csv
中使用header=None
。回答
当CSV文件的前3行为以下内容时:
字符串
您可以通过以下方式组合第一列和第二列来创建日期时间。(在your_file_path处输入您的文件路径)
型
[0, 1]
表示示例文件中日期和时间的位置。DF
型
要在不创建文件的情况下简单地检查它,请使用以下代码。
型
io.StringIO
make string like file.所以你可以得到相同的结果ctrmrzij2#
让我们来玩琴弦。
在这里,我们将使用传统的方法来做这项工作。
**1.预处理:**假设您的数据保存为
*.txt
文件,如下所示:字符串
2.以csv格式读取文件:
型
这些论点是什么意思?
sep
:列分隔符,这里是空格(" "
)。header
:这里我们的数据文件没有头(列没有任何名称)dtype
:包含日期和时间值的第1列和第2列是字符串。如果您忽略了dtypes
,pandas
将以整数形式读取这些列,并将000100
存储为100
。要深入了解这些参数,请阅读documents。
现在我们有了这个:
型
**3.字符串操作:**获取日期和时间数据,精确到您想要的格式:
型
对于时间数据:
型
**重要提示:**通过调用
.str
属性,我们告诉Python我们需要对列的每一行进行字符串操作,如.join()
或'split()
等。现在我们根据您的格式添加字符串:
型
这是“YYYY-MM-DD HH:MM:SS”格式,如果您希望它改为“YY-MM-DD HH:MM:SS”,请将年份部分更改为
df[1].str[2:4]
。将结果保存到新列中:
型
干杯!干杯!
jtw3ybtb3#
您只需要使用 datetime 模块,特别是它的 strftime() 和 strptime() 函数。
字符串
输出:
型