python - Pandas : Add arrays as values of column

标签 python pandas

我有一个 Pandas DataFrame df 来存储一些数值:

print(df)

       value 
0          0
1          2
2          4
3          5
4          8

我有一个函数可以将数值转换为 one-hot 向量

print(to_categorical(0))
[1 0 0 0 0 0 0 0 0 0]

print(to_categorical(5))
[0 0 0 0 0 5 0 0 0 0]

等等...

因此,我可以在数值列上调用我的函数:

print(to_categorical(df['value'))

[[1 0 0 0 0 0 0 0 0 0]
 [0 0 1 0 0 0 0 0 0 0]
 [0 0 0 0 1 0 0 0 0 0]
 [0 0 0 0 0 1 0 0 0 0]
 [0 0 0 0 0 0 0 0 1 0]]

现在我想将结果存储为新列。这是我对示例的期望:

df['one-hot'] = to_categorical(df['value')
print(df)

        value                    one-hot
0          0       [1 0 0 0 0 0 0 0 0 0]
1          2       [0 0 1 0 0 0 0 0 0 0]
2          4       [0 0 0 0 1 0 0 0 0 0]
3          5       [0 0 0 0 0 1 0 0 0 0]
4          8       [0 0 0 0 0 0 0 0 1 0]

但这给了我一个错误,因为 pandas 试图将我的数组展平为多个列。我怎样才能做到这一点?

最佳答案

首先,我认为在 pandas 中使用 list 不是 good idea ,但可以通过转换为列表来实现:

df['one-hot'] = to_categorical(df['value').tolist()

关于python - Pandas : Add arrays as values of column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55394558/

相关文章:

python - Django + celery : ImportError: No module named project. 网址

python - 如何使用另一个 numpy 数组修改 pandas 数据框中的所有值

python - 使用 Selenium 在 div 中进行内容搜索的问题

python - 将文本文档转换为 jsonl(json 行)格式

python - 将字典转换为数据帧,其中键和值都有自己的列

Python Pandas 非零 cumsum

python - 如何根据单独列表中的索引值过滤数据框?

python - 如何组合两个具有不同类型索引的数据帧(一个是DatetimeIndex,另一个是PeriodIndex)?

python - 使用 Scrapy/Splash 抓取 Google 图像 - 重定向

python - 从 XML 解析名称/值对