python - 将字符串(逗号分隔)转换为 Pandas Dataframe 中的 int 列表
问题描述
我有一个数据框,其中有一列包含整数,有时还有一个字符串,其中包含多个用逗号分隔的数字(如“1234567、89012345、65425774”)。
我想将该字符串转换为整数列表,以便更轻松地搜索特定数字。
In [1]: import pandas as pd
In [2]: raw_input = "1111111111 666 10069759 9695011 9536391,2261003 9312405 15542804 15956127 8409044 9663061 7104622 3273441 3336156 15542815 15434808 3486259 8469323 7124395 15956159 3319393 15956184
: 15956217 13035908 3299927"
In [3]: df = pd.DataFrame({'x':raw_input.split()})
In [4]: df.head()
Out[4]:
x
0 1111111111
1 666
2 10069759
3 9695011
4 9536391,2261003
解决方案
由于您的列包含字符串和整数,您可能需要这样的内容:
def to_integers(column_value):
if not isinstance(column_value, int):
return [int(v) for v in column_value.split(',')]
else:
return column_value
df.loc[:, 'column_name'] = df.loc[:, 'column_name'].apply(to_integers)
推荐阅读
- entity-framework - 插入后如何在 EntityFramework 中获取多级相关表?
- python - 使用 Pandas 从具有多个分隔符的单个文本文件中导入多个部分
- ios - 图像视图无法与集合视图中的约束正确对齐
- api - 在 shopify 中使用 rest admin api 检索到产品的第一页
- amazon-web-services - 通过 S3 预签名 URL 上传文件的 URL 过期说明
- asp.net-mvc - 用于数据库查询的 httppost 数据
- debugging - Windows 10 IoT Core ARM64 AppServiceConnection 用于后台应用程序调试
- android - APK逆向工程Firebase信息读取问题?
- python - Django 站点地图错误:“datetime.time”对象没有属性“timetuple”
- dictionary - 如何清除sync.Map