将一个包含浮点数列表的 pandas 列转换为包含整数列表的列

3
我有一个Pandas数据框,其中距离列是一个浮点值列表。
   event  type    distance
0  5      open    [59235.1953125, 34893.48046875, 35969.94921875]
1  3      open    [67613.8828125, 49029.328125, 85592.8828125]
2  2      close   [2827.9968261719, 1665.8785400391, 1717.271240]

我该如何将距离列转换为整数列表?

   event  type    distance
0  5      open    [59235, 34893, 359670]
1  3      open    [67614, 49029, 85593]
2  2      close   [2828, 1666, 1717]
3个回答

4

仅仅是一个循环/应用程序:

df['distance'] = [[round(y) for y in x] for x in df['distance']]

2
使用pandas apply -
df['distances'] = df['distances'].apply(lambda x: [round(y) for y in x])

1

还有另一种方法可以实现。请注意,使用列表推导式的解决方案(通常)被认为是更好的实践。

创建一个函数:

def make_integer(dat):
    return(list(map(int, dat)))

创建的函数在另一个map函数中使用:
df['distance2'] = list(map(make_integer, df['distance']))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接