我有一个包含8列和40,000行的表,下表(DF700)是整个表的一小部分。我需要拆分“ sdk_ts”列,以便日期和时间分开,并从所有行中删除“ UTC”。
sdk_ts y z
0 2019-07-02 00:12:32 UTC 3.455 4.555
1 2019-07-02 00:12:32 UTC 4.567 6.897
2 2019-07-02 00:12:32 UTC 9.304 0.440 : : :
3 2019-07-02 00:12:59.6 UTC 8.909 0.405
4 2019-07-02 00:12:34.789 UTC 10.30 2.344
:
:
我尝试了以下代码:
DF800 = DF700['sdk_ts'].str.split(n=1, expand=True)
但是,结果是:
0 1
0 2019-07-02 00:12:32 UTC
1 2019-07-02 00:12:32 UTC
2 2019-07-02 00:12:32 UTC
3 2019-07-02 00:12:59.6 UTC
4 2019-07-02 00:12:34.789 UTC
5 2019-07-02 00:12:35.048 UTC
还有另一种方法可以实现这个目标吗?分割日期和时间,在所有行中删除“ UTC”,并确保其他列仍在表中。
答案 0 :(得分:1)
我建议将“ sdk_ts”列转换为日期时间格式,以便您可以轻松地从中提取日期和时间。
代码如下:
<select
name="myselect"
>
<option *ngFor="let ls of data[0].list | keyvalue;let i = index" [value]="ls.key">
{{ ls.value}} {{i}}</option>
</select>
答案 1 :(得分:0)
只需使用strip(' UTC')
即可在拆分之前将其清除,就像这样:
DF800 = DF700['sdk_ts'].str.strip(' UTC').str.split(n=1, expand=True)
完整示例:
import pandas as pd
from io import StringIO
DF700 = pd.read_csv(StringIO("""
sdk_ts y z
0 2019-07-02 00:12:32 UTC 3.455 4.555
1 2019-07-02 00:12:32 UTC 4.567 6.897
2 2019-07-02 00:12:32 UTC 9.304 0.440
3 2019-07-02 00:12:59.6 UTC 8.909 0.405
4 2019-07-02 00:12:34.789 UTC 10.30 2.344"""), sep="\s\s+")
DF800 = DF700['sdk_ts'].str.strip(' UTC').str.split(n=1, expand=True)
print(DF800)
输出:
0 1
0 2019-07-02 00:12:32
1 2019-07-02 00:12:32
2 2019-07-02 00:12:32
3 2019-07-02 00:12:59.6
4 2019-07-02 00:12:34.789