import pandas as pd
dict_1 = {"time": ["2019-11-02", "2019-11-03", "2019-11-04", "2019-11-05",
"2019-12-02", "2019-12-03", "2019-12-04", "2019-12-05"],
"pos": ["A", "A", "C", "D", "E", "E", "G", "H"],
"value1": [10, 20, 30, 40, 50, 60, 70, 80],
"value2": [100, 200, 300, 400, 500, 600, 700, 800],
"value3": [50, 20, 30, 90, 50, 60, 80, 80],
"value4": [10, 30, 90, 40, 60, 60, 70, 80]}
df_1 = pd.DataFrame(dict_1, columns=["time", "pos", "value1", "value2", "value3", "value4"])
print("\n", "df_1", "\n", df_1, "\n")
#第一种方式
def get_f5(x):
print("x的结果是:\n",x) #查看x的类型
print("x的值是:\n",x.values) #查看x的类型
print("x转为list是:\n",x.values.tolist()) #查看x的类型
print("最终输出:\n",dict(x.values.tolist())) #查看x的类型
return dict(x.values.tolist())
data = df_1.groupby("pos")[["value1","value2"]].apply(get_f5)
print("第一种方式:",data)
# # 第二种方式
dict_map = df_1.groupby('pos')[['value1','value2']].apply(lambda g: dict(g.values.tolist()))
print("第二种方式:",dict_map)
dict_result = df_1.groupby('pos')[['value1','value2']].apply(lambda g: dict(g.values.tolist())).to_dict()
print("最终结果:",dict_result)
Pandas中group+apply应用
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Python 和 Pandas 数据分析教程 原文:Data Analysis with Python and P...
- Python 和 Pandas 数据分析教程 原文:Data Analysis with Python and P...
- 博文名称:30 Very Useful Pandas Functions for Everyday Data An...
- 1 前言 一般而言,在学习或练习python的初级阶段,我们在Jupyter Notebook(spyder或py...
- 20190630 更新:优化一些翻译表达,增加【太长不看】部分 原文链接:https://www.dataques...