.unique()与to_dic()结合

在 Pandas 中,unique() 方法用于获取 Series 或 DataFrame 中唯一值的数组。当你使用 groupby 方法对 DataFrame 进行分组后,你可以在分组结果上调用 unique() 方法来获取每个分组中唯一值的数组。这个方法返回的结果可以直接转换为字典。

让我详细说明一下:

假设 price_df 是一个 DataFrame,其中包含了商品的价格信息。你想要按照 "itemId" 列进行分组,并且获取每个分组中的 "discountePrice" 列的唯一值数组。你可以按照以下步骤操作:

python 复制代码
import pandas as pd

# 假设price_df是你的DataFrame
# 创建一个示例DataFrame
data = {
    'itemId': ['A', 'A', 'B', 'B', 'B'],
    'discountePrice': [10, 15, 20, 25, 20]
}
price_df = pd.DataFrame(data)

# 按照 'itemId' 进行分组,并获取 'discountePrice' 列的唯一值数组
unique_discount_prices = price_df.groupby('itemId')['discountePrice'].unique()

# 将结果转换为字典
result_dict = unique_discount_prices.to_dict()

print("得到的字典:")
print(result_dict)

这将输出:

css 复制代码
得到的字典:
{'A': array([10, 15]), 'B': array([20, 25])}

这里,unique_discount_prices 是一个 Series,其索引是 "itemId",值是包含唯一 "discountePrice" 值的数组。调用 to_dict() 方法将 Series 转换为字典,其中键是 "itemId",值是对应的唯一值数组。

问题1:

如果要得到所有值的分组,没不是唯一值的分组,应该怎么实现?

答:用.apply(list)方法

all_discount_prices = price_df.groupby('itemId')['discountePrice'].apply(list)

输出结果: 这将输出一个字典,其中键是 "itemId",值是包含相应分组中所有 "discountePrice" 值的列表:

less 复制代码
lessCopy code
得到的字典:
{'A': [10, 15], 'B': [20, 25, 20]}

在这个字典中,每个键对应一个 "itemId",值是一个包含相应分组中所有 "discountePrice" 值的列表。

相关推荐
弱冠少年17 分钟前
websockets库使用(基于Python)
开发语言·python·numpy
技术无疆41 分钟前
【Python】Streamlit:为数据科学与机器学习打造的简易应用框架
开发语言·人工智能·python·深度学习·神经网络·机器学习·数据挖掘
羊小猪~~1 小时前
机器学习/数据分析--用通俗语言讲解时间序列自回归(AR)模型,并用其预测天气,拟合度98%+
人工智能·python·机器学习·数据挖掘·数据分析·回归·时序数据库
qq_273900231 小时前
解析TMalign文本文件中的转换矩阵
python·生物信息学
阿华的代码王国2 小时前
【JavaEE】——文件IO的应用
开发语言·python
电饭叔2 小时前
《python语言程序设计》2018版第8章19题几何Rectangle2D类(下)-头疼的几何和数学
开发语言·python
程序猿小D3 小时前
第二百六十七节 JPA教程 - JPA查询AND条件示例
java·开发语言·前端·数据库·windows·python·jpa
杰哥在此4 小时前
Python知识点:如何使用Multiprocessing进行并行任务管理
linux·开发语言·python·面试·编程
zaim16 小时前
计算机的错误计算(一百一十四)
java·c++·python·rust·go·c·多项式
PythonFun10 小时前
Python批量下载PPT模块并实现自动解压
开发语言·python·powerpoint