python - 将 2 秒顺序数组转换为 pandas 数据帧
问题描述
我有一个具有任意长度的二阶数组的数据集。如下所示
[['15,39' '17,43']
['23,40' '18,44']
['28,41' '18,45']
['28,42' '27,46']
['34,43' '26,47']
.
.
.
]
我想把它变成一个熊猫数据框作为列和行,如下所示
15 39 17 43
23 40 18 44
28 41 18 45
28 42 27 46
34 43 26 47
.
.
.
任何人都知道如何在不将数据保存到文件中的情况下实现它?
解决方案
您的数据:
from io import StringIO
s="""[['15,39' '17,43']
['23,40' '18,44']
['28,41' '18,45']
['28,42' '27,46']
['34,43' '26,47']]"""
df=pd.read_csv(StringIO(s),header=None)
你可以做:
d={"\[\['":"","'\]\]":"","'\]\]'":"","'\]":"","\['":"","' '":','}
df=df.replace(d,regex=True)
df[[1.2,1.5]]=df.pop(1).str.extract(r"(\d+),(\d+)")
df=df.sort_index(axis=1)
输出df
:
0.0 1.2 1.5 2.0
0 15 39 17 43
1 23 40 18 44
2 28 41 18 45
3 28 42 27 46
4 34 43 26 47
当然,您可以根据需要使用columns
属性或方法重命名列的名称,并根据需要使用方法对rename()
数据进行类型转换astype()
推荐阅读
- javascript - 最后的行(尚未执行)如何影响代码的开头?为什么它会抛出不正确的错误?
- eclipse-plugin - 自定义图形编辑器禁用另存为菜单
- javascript - 如何根据选定的单选按钮显示消息?
- indexing - 更改谷歌职位发布中应用按钮的文本(索引 api)
- c++ - 处理异常时内存泄漏
- oracle - Oracle Instant Client 仍然无法在 Mac OS Catalina 10.15.4 上运行
- docker - 当您将服务帐号分配给 Cloud Run 服务时,究竟会发生什么?
- mysql - 如何查看sys.statement_analysis的mysql 5.7的所有查询内容
- flutter - 如何将数组重新运行到列表视图颤动
- java - 正在从数据库中删除特定用户的所有通知,此时只应删除一个