python - 在 Pandas 中定义列类型为 'list'

标签 python list pandas

我有一个 Pandas 数据框 df。我希望 df 由 3 列组成:第一个是品牌名称(字符串),第二个是整数列表,第三个是浮点数列表。因此,对于每个品牌,我有两个列表,我想将它们全部放在一个数据框中,以便根据品牌名称轻松访问不同的列表。

我有 :

count = [1,5,198,0,0,35]
brand = 'Nike'

并将计数列表放入与“耐克”行对应的“计数”列中,我尝试了以下操作:
df[df['brand']==brand].loc[0,'count'] = count
df[df['brand']==brand]['count'] == count
df[df['brand']==brand]['count'].loc[0] == count

这些都不起作用,我得到 ValueError: Must have equal len keys and value when setting with an iterableA value is trying to be set on a copy of a slice from a DataFrame df 没有任何变化。

如何将列表写入 Pandas 数据框单元格?

最佳答案

在我看来,您正在构建错误的数据模型。
该模型不是第一范式(1NF),使用它会遇到很多麻烦。
请尝试使用标准化模型。

   Brand     price
0  Nike     50.0
1  Nike     60.0
2  Nike     70.0
3  Puma     30.0
4  Puma     100.0

您可以轻松地从此模型中获取任何计算值。

关于python - 在 Pandas 中定义列类型为 'list',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37134622/

相关文章:

python - 如何将int转换为24位字符串?

c++ - Cython 为 libcpp.list 赋值

python - 使用 matplotlib 绘制 Char 数据的 Pandas DataFrame

python - 当 Reader 类型作为输入时,gzip.NewReader() 返回 nil

python - 针对内存中的数据运行 mongo 查询

python - 如何更新具有 nan 维度的 dask 数组的形状、 block 和 block 大小元数据

r - 比较两个 data.frames 列表中的 colname?

generics - 具有顺序布局和包大小的值类型的通用列表-> BUG?

python - 通过添加另一列来对我的 pandas 数据框中的重复项进行排序

python - 隐藏图例中的图例条目