如何在没有错误的情况下将列表插入 Pandas DataFrame 单元格?

Linda Hamilton
发布: 2024-11-02 08:50:29
原创
678 人浏览过

How to Insert Lists into Pandas DataFrame Cells Without Errors?

将列表插入 Pandas 单元格

问题

在 Python 中,尝试将列表插入 Pandas DataFrame 的单元格可能会导致错误或意想不到的结果。例如,当尝试将列表插入 DataFrame df 的单元格 1B 时:

df = pd.DataFrame({'A': [12, 23], 'B': [np.nan, np.nan]})
abc = ['foo', 'bar']
登录后复制

以下尝试将 abc 列表插入 1B,但会产生错误或不正确的插入:

  1. df.ix[1,'B'] = abc - 错误:使用可迭代设置时必须具有相等的 len 键和值
  2. df.ix[1,'B'] = [abc ] - 插入一个包含一个元素的列表: [['foo', 'bar']]
  3. df.ix[1,'B'] = ', '.join(abc) - 插入一个字符串: "foo, bar"
  4. df.ix[1,'B'] = [', '.join(abc)] - 插入一个包含一个元素的列表:['foo, bar']

解决方案

要将列表无错误地插入到 DataFrame 的单元格中,请使用 at 方法,该方法始终引用单个值:

df.at[1, 'B'] = ['foo', 'bar']
登录后复制

这将插入abc list 按照预期插入 1B:

    A  B
0  12  NaN
1  23  ['foo', 'bar']
登录后复制

请注意,DataFrame 列必须具有 dtype=object 才能允许列表插入。例如:

df['B'] = df['B'].astype('object')
登录后复制

以上是如何在没有错误的情况下将列表插入 Pandas DataFrame 单元格?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!