【发布时间】:2022-12-25 01:40:44
【问题描述】:
如何向 vaex 数据框添加新列?
当我尝试将列表对象分配给数据框时收到类型错误,就像在 pandas 中所做的那样,但收到以下错误:
ValueError: [1, 1, 1, 1, 1, 1, 1] is not of string or Expression type, but <class 'list'>
【问题讨论】:
如何向 vaex 数据框添加新列?
当我尝试将列表对象分配给数据框时收到类型错误,就像在 pandas 中所做的那样,但收到以下错误:
ValueError: [1, 1, 1, 1, 1, 1, 1] is not of string or Expression type, but <class 'list'>
【问题讨论】:
简单的;将列表对象转换为 numpy 数组,我想这就是他们定义为表达式类型的内容;
import numpy as np
a = [1]*7
a = np.array(a)
sub["new"] = a
sub
【讨论】:
让我们首先使用创建一个数据框vaex包:
import vaex
import numpy as np
x = np.arange(6)
y = x*2
df = vaex.from_arrays(x=x, y=y)
df
输出:
# x y
0 0 0
1 1 2
2 2 4
3 3 6
现在,如果您想添加一个名为问候语:
df['greeting'] = ['hi', 'أهلا', 'hola', 'bonjour']
你会得到这个错误:
ValueError: ['hi', 'أهلا', 'hola', 'bonjour'] is not of string or > Expression type, but <class 'list'>
要处理此问题,请使用以下代码:
输出:
df['text'] = np.asanyarray(['hi', 'أهلا', 'hola', 'bonjour'])
df
# x y text
0 0 0 hi
1 1 2 أهلا
2 2 4 hola
3 3 6 bonjour
享受!
【讨论】: