我有以下字符串数组:
["12/21/2012 16:00:00 7.40",
"2/24/2012 13:00:00 2.21",
"10/26/2012 16:00:00 87.20",
....]
日期和浮点值用制表符分隔。如何将其转换为数据帧并将其数据转换为各自的类型?因此,col1应该是日期,而col2应该是浮点数。
答案 0 :(得分:0)
我尝试执行\t
以根据制表符进行拆分。但是,字符串中的数据为空格。所以这就是我分解的方式。
x = ["12/21/2012 16:00:00 7.40",
"2/24/2012 13:00:00 2.21",
"10/26/2012 16:00:00 87.20"]
y = [[" ".join(i.split()[:2]),float(i.split()[2])] for i in x]
print (y)
这将给我最终的清单如下:
[['12/21/2012 16:00:00', 7.4], ['2/24/2012 13:00:00', 2.21], ['10/26/2012 16:00:00', 87.2]]
以此,您可以将其转换为DataFrame。
以下是DataFrame的完整代码:
import pandas as pd
x = ["12/21/2012 16:00:00 7.40",
"2/24/2012 13:00:00 2.21",
"10/26/2012 16:00:00 87.20"]
z = [[" ".join(i.split()[:2]),float(i.split()[2])] for i in x]
df = pd.DataFrame(z,columns=['Date','Val'])
print(df)
DataFrame的输出为:
Date Val
0 12/21/2012 16:00:00 7.40
1 2/24/2012 13:00:00 2.21
2 10/26/2012 16:00:00 87.20