python : extracting only the first element on a dictionary of list using functions

标签 python function pandas dictionary dataframe

在上一篇文章中,我要求使用 Python 中的字典从数据帧构建序列。

Construct sequences from a dataframe using dictionaries in Python

我想将所选答案中提出的函数更改为仅包含列表中没有日期的项目。

拥有:

{1: [1, 2], 2: [3, 1,], 4: [5, 3, 1]} 

而不是:

{1: [[1, 'date_1'], [2, 'date_2']],
 2: [[3, 'date_1'], [1, 'date_3']],
 4: [[5, 'date_2'], [3, 'date_3'], [1, 'date_5']]}

更改功能:

fnc = lambda x: x.sort_values('date').values.tolist()
df.set_index('users').groupby(level=0).apply(fnc).to_dict()

最佳答案

当在整个 df 上调用 lambda 时,您可以只选择 lambda 中的项目列,您可以从结果中进行子选择,以便只获得结果中感兴趣的列:

In [249]:
fnc = lambda x: x.sort_values('date')['items'].values.tolist()
df.set_index('users').groupby(level=0).apply(fnc).to_dict()

Out[249]:
{1: [1, 2], 2: [3, 1], 4: [5, 3, 1]}

关于 python : extracting only the first element on a dictionary of list using functions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41747145/

相关文章:

python - 在不使用 python 请求模块的情况下进行此 API 调用的最佳替代方法是什么?

Python 错误 : missing 'mdb-schema' when using python_access package

python - matplotlib - 如何绘制不均匀间隔为 2^n 的图形?

swift - 如何在异步函数之外使用值?

c++ - 内存中函数的校验和

python - 使用预定义列表分解行,同时保留现有行的值

javascript - Django 客户端验证小数字段限制

javascript - 在 JavaScript 中隐藏 <p> 字段

python - 对于其他列中的每次更改,我们如何用这些行的平均值替换多行数据?

pandas - 如何绘制 plotBox 和不同轴的线图