小编Sam*_*Sam的帖子

将键值对添加到嵌套字典中

我在向嵌套字典添加键值对时遇到一些问题。新的对似乎被添加到外部字典中的所有条目,而不仅仅是我想要的嵌套字典。

这是一个例子:

mykeys = ['key1', 'key2', 'key3']
mydictionary = dict.fromkeys(mykeys, {})
mydictionary['key1']['subkey1'] = 'value1'
mydictionary
Run Code Online (Sandbox Code Playgroud)

我期望看到以下内容,其中“subkey1”仅添加到“key1”字典中:

{'key1': {'subkey1': 'value1'},
 'key2': {},
 'key3': {}}
Run Code Online (Sandbox Code Playgroud)

相反,它将 subkey1/value1 对添加到外部字典的每个元素中:

{'key1': {'subkey1': 'value1'},
 'key2': {'subkey1': 'value1'},
 'key3': {'subkey1': 'value1'}}
Run Code Online (Sandbox Code Playgroud)

为什么会出现这种情况?我该如何重写代码来修复这个错误?

python dictionary python-3.x

6
推荐指数
1
解决办法
7571
查看次数

Pandas groupby.mean() 给我“没有要聚合的数字类型” - 但 .sum() 有效

我在 Python 3 中的 Pandas 中工作。出于某种原因,我可以分组,然后 sum() 我的数据帧:

full_data.groupby('polarity')['pos'].sum()

polarity
both      1.842
neg       5.241
neu     496.026
pos     245.105
Name: pos, dtype: float64
Run Code Online (Sandbox Code Playgroud)

当我换出平均金额,不过,我得到这个错误:

DataError: No numeric types to aggregate
Run Code Online (Sandbox Code Playgroud)

你知道为什么会这样吗?我已经确认“pos”列中的每个项目都是一个浮点数,运行以下代码而没有输出:

for i in full_data.loc[:,'pos']:
if type(i) != float:
    print('not a float')
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

python pandas

0
推荐指数
1
解决办法
1405
查看次数

标签 统计

python ×2

dictionary ×1

pandas ×1

python-3.x ×1