hand
10
_1_21_71
4
python3.X - 数据分析 - Pandas
共95篇
python3.X - 数据分析 - Pandas
返回栏目
1k
0k
5k
0k
0.1k
0k
2k
3k
1k
1k
0.2k
3k
0k
4k
3k
3k
3k
3k
0.5k
5k
1k
0.3k
3k
4k
7k
2k
7k
0.8k
0.9k
1k
1k
2k
0.4k
0.6k
0.6k
0.5k
0.9k
0.9k
1k
0.9k
1k
0.8k
1k
0.4k
0.4k
0.3k
0.6k
1k
0.9k
1k
1k
1k
0.8k
1k
0.8k
1k
0.7k
0.6k
4k
0.4k
3k
0.7k
0.8k
0.8k
0.2k
2k
1k
0.7k
0.7k
0.4k
0.5k
3k
0.1k
0.7k
0.9k
0.3k
1k
0.4k
0.4k
1k
0.5k
0.1k
0.7k
1k
0k
0.2k
0.7k
0.3k
0k
0k
0.1k
0k
0k
0k
3k
返回python3.X - 数据分析 - Pandas栏目
作者:
贺及楼
成为作者
更新日期:2024-08-14 13:04:32
import numpy as np
import pandas as pd
df = pd.DataFrame()
ls = [
{'名字': '小A', 'd1': 1, 'd2': 3, 'd3': 5},
{'名字': '小A', 'd1': 2, 'd2': 4, 'd3': 6},
{'名字': '小B', 'd1': 2, 'd2': 4, 'd3': 6},
{'名字': '小B', 'd1': 2, 'd2': 4, 'd3': 6},
]
df = df.append(ls, ignore_index=True)
>>> df
名字 | d1 | d2 | d3 | |
---|---|---|---|---|
0 | 小A | 1 | 3 | 5 |
1 | 小A | 2 | 4 | 6 |
2 | 小B | 2 | 4 | 6 |
3 | 小B | 2 | 4 | 6 |
groupbying = df.groupby(by="名字")
>>> groupbying
<pandas.core.groupby.generic.DataFrameGroupBy object at 0x0000016813E554E0>
# 查看对象内部的情况
>>> list(groupbying)
[
('小A',
名字 d1 d2 d3
0 小A 1 3 5
1 小A 2 4 6),
('小B',
名字 d1 d2 d3
2 小B 2 4 6
3 小B 2 4 6)
]
>>> list(groupbying)[0]
('小A', 名字 d1 d2 d3
0 小A 1 3 5
1 小A 2 4 6)
>>> list(groupbying)[1]
('小B', 名字 d1 d2 d3
2 小B 2 4 6
3 小B 2 4 6)
>>> type(list(groupbying)[0])
<class 'tuple'>
>>> type(list(groupbying)[0][0])
<class 'str'>
>>> list(groupbying)[0][0]
'小A'
>>> list(groupbying)[0][1]
名字 d1 d2 d3
0 小A 1 3 5
1 小A 2 4 6
>>> type(list(groupbying)[0][1])
<class 'pandas.core.frame.DataFrame'>
# 遍历.DataFrameGroupBy对象
>>> for name,group in groupbying:
... print(name)
... print(group)
...
小A
名字 d1 d2 d3
0 小A 1 3 5
1 小A 2 4 6
小B
名字 d1 d2 d3
2 小B 2 4 6
3 小B 2 4 6
# 选择
>>> groupbying.get_group('小A')
名字 d1 d2 d3
0 小A 1 3 5
1 小A 2 4 6
# 总数、最大值、最小值、平均值
>>> df
名字 d1 d2 d3
0 小A 1 3 5
1 小A 2 4 6
2 小B 2 4 6
3 小B 2 4 6
# df.groupby(["名字1","名字2"])["d1"].agg(["sum","max","min","mean","size"]).reset_index()
>>> df.groupby("名字")["d1"].agg(["sum","max","min","mean","size"]).reset_index()
名字 | sum | max | min | mean | size | |
---|---|---|---|---|---|---|
0 | 小A | 3 | 2 | 1 | 1.5 | 2 |
1 | 小B | 4 | 2 | 2 | 2.0 | 2 |
不用reset_index()
也可以用df.columns = ['名字','sum','max'] # 重命名列名
python3.X - 数据分析 - Pandas
整章节共95节
快分享给你的小伙伴吧 ~