python - 从数据框 pandas 创建 groupby 函数
问题描述
我的模拟数据框由这两列(字符和值)组成,我想创建一个函数,根据其唯一值迭代列“字符”,然后获取与其关联的所有值。好心劝告。
预期结果:
temp = ({a:[100,400], b:[200,200], c:[200,200]})
df
characters values
a 100
b 200
a 400
b 200
c 200
c 200
我知道我必须创建一个空列表,然后迭代“字符”列并将值附加到列表中。这是我的粗略想法(不完整)
def groups_per_character(df):
temp = {}
for characters,values in df.values():
for character in characters:
if character not in temp:
temp[character]=[]
temp[character].append(values)
return temp
所以基本上我试图做一个比类似但不一样的功能
df.groupby("characters").min()
运行函数“numpy.ndarray”对象不可调用时发生错误
解决方案
您不需要创建单独的函数。
In [1687]: x = df.groupby('characters').agg(list).to_dict()
In [1688]: temp = x['values']
In [1689]: temp
Out[1689]: {'a': [100, 400], 'b': [200, 200], 'c': [200, 200]}
推荐阅读
- python - 使用 beautifulsoup 从 HTML 中提取特定标签后的第 n 个标签
- ios - 将 mediaURL 转换为 PHAsset
- python - 删除 xtick 间隔 matplotlib
- android - 通过不在 Kotlin 中创建 ContextWrapper 实例调用“getSharedPreferences”方法的原因是什么?
- text-to-speech - 自定义语音:“规范化文本为空”
- vb.net - 如何使用连接表创建 RDLC 报告?
- wordpress - 使用云端将 HTTP 流量重定向到 EC2 托管 Web 服务器中的 HTTPS
- parallel-processing - 分布式 Julia:并行映射 (pmap),每个映射任务完成都有超时/时间限制
- odbc - 在clickhouse中连接odbc后Tableau不显示表格?
- python - 根据 pandas 中的每周数据创建代表 4 周期间的列