python - 在列表的数据框中保留单个元素
问题描述
给定以下数据框:
Movement Distance Speed Delay Loss
0 [1, 1] [1, 1] [25, 25] [0, 0] [0, 0]
1 [1, 1] [1, 1] [25, 25] [0, 0] [0, 0]
2 [1, 1] [1, 1] [25, 25] [0, 0] [0, 0]
3 [1, 1] [1, 1] [25, 25] [0, 0] [0, 0]
4 [1, 1] [1, 1] [25, 25] [0, 0] [0, 0]
如何删除每列中除第一个元素之外的所有元素,然后取消列出,以便数据框变成这样:
Movement Distance Speed Delay Loss
0 1 1 25 0 0
1 1 1 25 0 0
2 1 1 25 0 0
3 1 1 25 0 0
4 1 1 25 0 0
解决方案
df.apply(lambda x: pd.to_numeric(x.str[0], downcast='integer', errors='ignore'))
或者如果数据已经很干净,我们convert_dtypes
在 pandas 1.0 中有新的(感谢 cs95):
df.apply(lambda x: x.str[0]).convert_dtypes()
Movement Distance Speed Delay Loss
0 1 1 25 0 0
1 1 1 25 0 0
2 1 1 25 0 0
3 1 1 25 0 0
4 1 1 25 0 0
推荐阅读
- rust - 如何将构造函数添加到现有的原始类型?
- javascript - chrome cap requestframetime是否
- ios - Chromecast GCKDiscoveryManager 列出了设备选择对话框中不存在的设备
- json - 如何从 json 中获取密钥并保留顺序
- css - 在 VueJS 模块中嵌套 SCSS 规则
- scala - 从类实例访问伴随对象的属性
- php - 在 php 代码中更改对齐输入类型 html
- sql - 获取位大小的值
- selenium - 安装 TestNG Eclipse 插件 6.14.3 版本时出错
- angular - 打字稿 - 我不能让我的通用可观察解析器异步