python - 将多个字符串列转换为整数列表

标签 python pandas

我有一个像这样的数据框 df,其中两列都是 object

    +-----+--------------------+--------------------+
    |  id |         col1       |         col2       |
    +-----+--------------------+--------------------+
    |   1 |  0,1,4,0,1         |  1,2,4,0,0         |
    +-----+--------------------+--------------------+

我将它们转换成这样的列表

test = df["col1"]+','+df["col2"]
test.tolist()

作为列表中的 SINGLE STING 元素产生以下结果

['0,1,4,0,1,1,2,4,0,0']

但是,我希望它们像这样的整数列表

[0,1,4,0,1,1,2,4,0,0] 

有什么建议吗?仅供引用,在我的原始数据集中,这些列真的很大,所以性能也可能是一个问题。

最佳答案

我想你想要:

(df['col1'] + ',' + df['col2']).apply(lambda row: [int(s) for s in row.split(',')])

输出:

0    [0, 1, 4, 0, 1, 1, 2, 4, 0, 0]
dtype: object

关于python - 将多个字符串列转换为整数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61259014/

相关文章:

python - 具有条件规则的 Pandas Dataframe

python - 如何使用 Pandas 中另一列的 unicode 文本创建新列?

python - 如何根据列中字符串的索引拆分列,同时使用有效的方法解析所有 Dataframe

python - 如何根据条件更改 Pandas 系列中的值

python - 带有网络服务器的 Flask 会中断所有 session 吗?

python - 如何使用python将大量XML插入到另一个XML文件中?

python - 如果包含列表的列具有来自另一个较大列表的元素,如何输出 bool 值?

python - 使用 __getattribute__ 覆盖格式化类属性

python - 获取groupby后每列的百分比

python - 删除DataFrame中 "/"之前的空白区域