python - 如何将数据框列列表值转换为元素
问题描述
嗨,我有一个这样的数据框:
A
0 []
1 [1234]
2 []
我想把它改成:
A
0 0
1 1234
2 0
我怎样才能做到这一点?
我尝试
df['A'] = [a[0] if len(a) > 0 else 0 for a in df['A']]
解决方案
第一个想法是选择第一个值,将缺失值替换为0
空列表并最后转换为整数:
df['A'] = df['A'].str[0].fillna(0).astype(int)
或者numpy.where
通过比较列表长度的掩码使用:
df['A'] = np.where(df['A'].str.len() == 0, 0, df['A'].str[0])
推荐阅读
- javascript - React 组件未在 setState({}) 上重新渲染
- python - 将 HTML 按钮引用到 Python 脚本
- msdn - 如何从 Microsoft 在线 api/类文档中排除继承的成员
- javascript - 使用 NGINX 为多个静态站点提供服务时出现 404 错误
- r - igraph 饼图顶点具有定义的段大小和每个段的连续颜色
- windows - 将批处理变量正确传递到嵌套循环 - 变量的延迟扩展
- amazon-web-services - AWSAppSync AWS 定义的标量类型 - 定义?
- docker - 如何在 Container-Optimized OS 中设置容器 ulimit
- sugarcrm - SuiteCRM/Sugar CRM 6.5:从不在生产环境中重新部署包?
- php - PHP - 修改字符串文本上图像的绝对路径/URL