「这是我参与2022首次更文挑战的第24天,活动详情查看:2022首次更文挑战」。
前几日的groupby 没怎么进行演示,今天来演示外加增加点新的内容,因为聚合确实是在数据分析里不可或缺的。
我们先导入一些数据
import pandas as pd
data = {'key1':['a','b','b','c','c'],
'data1':[1,2,3,4,5,],
'data2':[6,7,8,9,10]}
df = pd.DataFrame(data)
df1 = df.groupby('key1').agg(['max','median','min'])
print(df1)
df 是我们创建的dataframe对象,然后df1是我们以dataframe中的key1进行分组并聚合。运行的结果如下:
那么,我们要如何获取data1中的最小值呢?思路如下:先将数据按照key1分组,然后再获取最小值:
df2 = df.groupby('key1').agg({'data1':'min'})
print(df2)
输出如下:
上回还有concat函数没有讲完,concat用来合并数据,在数据分析中往往有很多表格,如果我们分开来看,那就实在是太麻烦了,如果能在同一份表格上显示,则能大大减少我们来回转换文档的麻烦。python给到的方法有concat,merge等等,今天我们再来深入了解一下concat的用法,具体用法我们通过例子来展示:
import pandas as pd
data1 = {'a':[1,2],
'b':[11,22]}
data 2 = {'c':[111,222],
'd':[1111,2222]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
print(pd.concat([df1,df2],sort=True))
首先肯定是导入相关的库 pandas,还有就是需要将数据改成Dataframe 的格式。
大家看出来它是怎么样合并的了吗?它是纵向合并的,还有一个append()的方法也能实现纵向合并。但是在这儿我就不演示了。那么如何进行横向合并呢?其实也很简单,就是要改一下concat的参数axis,设置为1即可。我们来看看横向合并是什么样的效果。
print(pd.concat([df1,df2],sort = True,axis =1))
结果显示如下:
这样看起来就舒服多了,合并工作表可以大大提高我们的工作效率。