Python 用字符串填充数据帧

Python 用字符串填充数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我试图用numpy数组中的字符串填充pandas数据帧 t = zeros((10, 3)) v = pd.DataFrame(index=range(10), columns=['a', 'b','c']) 假设列“a”和“b”是浮点,列“c”应该是字符串 t[i] = fun(x) v.iloc[i, 0:3] = t[0, 0], t[0, 1], t[0, 2] # t[0, 0], t[0, 1] are floats and t[0, 2] is a string. 我试图

我试图用numpy数组中的字符串填充pandas数据帧

t = zeros((10, 3))

v = pd.DataFrame(index=range(10), columns=['a', 'b','c'])
假设列“a”和“b”是浮点,列“c”应该是字符串

t[i] = fun(x)

v.iloc[i, 0:3] = t[0, 0], t[0, 1], t[0, 2]

# t[0, 0], t[0, 1] are floats and t[0, 2] is a string.
我试图在for循环中执行此操作,但出现以下错误:

ValueError: could not convert string to float

@尤尔格姆的评论就是答案。问题是numpy数组必须具有相同类型的所有元素,所以我只为字符串创建了第二个数组。这也可以通过字典和其他方式解决。

看起来您的
df
值只是
t
假设
t
是一个numpy数组,它不能在同一数组中包含浮点和字符串。根据定义,numpy数组必须具有相同类型的所有值