【发布时间】:2019-03-25 05:09:47
【问题描述】:
我有一个 pandas 数据框,其中有一个 values 列,如下所示:
0 16 0
1 7 1 2 0
2 5
3 1
4 18
我想要创建另一列modified_values,其中包含拆分每个值后我将获得的所有不同数字的列表。新列将是这样的:
0 [16, 0]
1 [7, 1, 2, 0]
2 [5]
3 [1]
4 [18]
注意此列表中的值应为 int 而不是 strings。
我知道的事情:
1) 我可以像这样以矢量化方式拆分列
df.values.str.split(" ")。这会给我列表,但列表中的对象将是字符串。我可以在上面添加另一个操作,例如 df.values.str.split(" ").apply(func to convert values to int) 但这不会被矢量化
2) 我可以直接这样做df['modified_values']= df['values'].apply(func that splits as well as converts to int)
第二个肯定会比第一个慢得多,但我想知道是否可以通过矢量化方式实现相同的目标。
【问题讨论】:
标签: python python-3.x string pandas numpy