仅将熊猫值复制到字典:抑制索引 [重复]

Posted

技术标签:

【中文标题】仅将熊猫值复制到字典:抑制索引 [重复]【英文标题】:Copy pandas value only to dictionary: suppress index [duplicate] 【发布时间】:2020-05-08 00:21:01 【问题描述】:

我只需要将值从 DF 复制到 dict 以用于将 dict 作为参数的显示函数。

我的数据框在以下摘录中称为databases

DB_stat_reporting = dict()
report_month = databases.loc[databases['Date'] == reporting_month]
last_year    = databases.loc[databases['Date'] == past_year]

report_month

输出:

    Date        Circ    EB  Mag     bla     drive   Total   Digi
12  2019-12-01  118324  133 1084    4928    17513   141982  23658

我只需要将值传递给字典:

DB_stat_reporting['Circ']     = report_month['Circ']
DB_stat_reporting['Circ']

生产:

12    118324

我需要对其运行一些统计信息,因此它需要保持为 int,但我不希望打印索引或括号等。

预期输出:

118324

这似乎是一件很简单的事情,但我无法做到这一点。

【问题讨论】:

你做过研究吗?这似乎是 Pandas 的基本功能。 这能回答你的问题吗? How to get a value from a cell of a dataframe? @AMC 我基本上想多了。项目匆忙和大脑冻结。我应该删除这个吗? 您可能会发现这很有用:***.com/help/what-to-do-instead-of-deleting-question。 【参考方案1】:

使用DataFrame.loc 获取不带索引的值本身:

DB_stat_reporting = dict()
DB_stat_reporting['Circ'] = report_month.loc[12, 'Circ']

Series.iat:

DB_stat_reporting = dict()
DB_stat_reporting['Circ'] = report_month['Circ'].iat[0]
print(DB_stat_reporting)

'Circ': 118324

【讨论】:

KeyError: '标签 [0] 不在 [index] 中' 你必须选择正确的索引,所以在你的情况下使用12,所以它会是report_month.loc[12, 'Circ'] Series.iat 示例使用 0 工作。为什么第一个工作需要正确的索引而第一个工作? loc 是基于标签的索引,所以在这种情况下 12 是标签。 iat 基于位置。 有道理。谢谢!一旦计时器用完,我会接受这个答案。

以上是关于仅将熊猫值复制到字典:抑制索引 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何根据来自不同列的多个值过滤熊猫表? [复制]

熊猫将具有相同索引的一列值组合到列表中[重复]

将 numpy 数组复制到 Panda 多索引中(大小相同)

将列中的所有值复制到熊猫数据框中的新列

从字典中添加具有映射值的新熊猫列[重复]

熊猫根据索引标签选择特定列中的值[重复]