重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
有, 要用apply函数。一种方式:
创新互联从2013年开始,先为周村等服务建站,周村等地企业,进行企业商务咨询服务。为周村企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
def my_test(a, b):
return a + b
df['value'] = df.apply(lambda row: my_test(row['A'], row['B']), axis=1)
apply完了产生一列新的series。注意axis=1 不能漏了 ,表示apply的方向是纵向
前言分组原理
核心:
1.不论分组键是数组、列表、字典、Series、函数,只要其与待分组变量的轴长度一致都可以传入groupby进行分组。
2.默认axis=0按行分组,可指定axis=1对列分组。
对数据进行分组操作的过程可以概括为:split-apply-combine三步:
1.按照键值(key)或者分组变量将数据分组。
2.对于每组应用我们的函数,这一步非常灵活,可以是python自带函数,可以是我们自己编写的函数。
3.将函数计算后的结果聚合。
1 分组模式及其对象
1.1 分组的一般模式
三个要素:分组依据、数据来源、操作及其返回结果
df.groupby(分组依据)[数据来源].使用操作
1.2 分组依据的本质
1.3Groupby 对象
通过 ngroups 属性,可以访问分为了多少组:
通过 groups 属性,可以返回从 组名映射到 组索引列表的字典:
当 size 作为 DataFrame 的属性时,返回的是表长乘以表宽的大小,但在 groupby 对象上表示统计每个组的 元素个数:
通过 get_group 方法可以直接获取所在组对应的行,此时必须知道组的具体名字:
1.4 分组的三大操作
分组的三大操作:聚合、变换和过滤
2.聚合函数
2.1内置聚合函数
包括如下函数: max/min/mean/median/count/all/any/idxmax/idxmin/mad/nunique/skew/quantile/sum/std/var/sem/size/prod
2.2agg 方法
【a】使用多个函数
当使用多个聚合函数时,需要用列表的形式把内置聚合函数的对应的字符串传入,先前提到的所有字符串都是合法的。
【b】对特定的列使用特定的聚合函数
对于方法和列的特殊对应,可以通过构造字典传入 agg 中实现,其中字典以列名为键,以聚合字符串或字符串列表为值。
【c】使用自定义函数
在 agg 中可以使用具体的自定义函数,需要注意传入函数的参数是之前数据源中的列,逐列进行计算
【d】聚合结果重命名 如果想要对结果进行重命名,只需要将上述函数的位置改写成元组,元组的第一个元素为新的名字,第二个位置为原来的函数,包括聚合字符串和自定义函数
3 变换和过滤
3.1 变换函数与 transform 方法
变 换 函 数 的 返 回 值 为 同 长 度 的 序 列, 最 常 用 的 内 置 变 换 函 数 是 累 计 函 数:cum- count/cumsum/cumprod/cummax/cummin ,它们的使用方式和聚合函数类似,只不过完成的是组内 累计操作。
3.2 组索引与过滤
过滤在分组中是对于组的过滤,而索引是对于行的过滤
组过滤作为行过滤的推广,指的是如果对一个组的全体所在行进行统计的结果返回 True 则会被保留,False 则该组会被过滤,最后把所有未被过滤的组其对应的所在行拼接起来作为 DataFrame 返回。
在 groupby 对象中,定义了 filter 方法进行组的筛选,其中自定义函数的输入参数为数据源构成的 DataFrame 本身,在之前例子中定义的 groupby 对象中,传入的就是 df[['Height', 'Weight']] ,因此所有表方法和属性 都可以在自定义函数中相应地使用,同时只需保证自定义函数的返回为布尔值即可。
4 跨列分组
4.1 apply 的引入
4.2 apply 的使用
在设计上,apply 的自定义函数传入参数与 filter 完全一致,只不过后者只允许返回布尔值
【a】标量情况:结果得到的是 Series ,索引与 agg 的结果一致
【b】Series 情况:得到的是 DataFrame ,行索引与标量情况一致,列索引为 Series 的索引
【c】DataFrame 情况:得到的是 DataFrame ,行索引最内层在每个组原先 agg 的结果索引上,再加一层返 回的 DataFrame 行索引,同时分组结果 DataFrame 的列索引和返回的 DataFrame 列索引一致
首先创建一个包含x值的列表,其中包含数字1~1000。接下来是一个生成y值的列表解析,它遍历x值(for x in x_values),计算其平方值,并将结果存储到列表 y_values中。然后,将输入列表和输出列表传递给scatter()。使用函数axis()指定了每个坐标轴的取值范围。函数axis()要求提供四个值:x和y坐标轴的最小值和最大值。在这里,我们将x坐标轴的取值范围设置为0-1100,将y坐标轴的取值范围设置为0-1100000。
python axis的意思是:1、【axis=0】表述列,【axis=1】表述行;2、等式【axis=i】操作就是沿第i维变化的方向进行。
python axis的意思是:
axis=0表述列
axis=1表述行
就记住axis=i,操作就是沿第i维变化的方向进行;
对于一个4*3*2*3的数组:
axis=0,操作时只有第0维的下标变化其他不变。
axis=1,操作时只有第1维的下标变化其他不变。
axis=2,操作时只有第2维的下标变化其他不变。
axis=3,操作时只有第3维的下标变化其他不变。
相关学习推荐:python视频
以上就是小编分享的关于python axis是什么意思的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
一、导包
二、绘制简单折线
1、在利用pandas模块进行操作前,可以先引入这个模块,如下:
2、读取Excel文件的两种方式:
三、pandas操作Excel的行列
1、读取指定的单行,数据会存在列表里面
2、读取指定的多行,数据会存在嵌套的列表里面
3、读取指定的行列
4、读取指定的多行多列值
5、获取所有行的指定列
6、获取行号并打印输出
7、获取列名并打印输出
8、获取指定行数的值
四、pandas处理Excel数据成为字典
五、绘制简单折线图
六、绘制简单散点图
使用scatter绘制散点图并设置其样式
1、绘制单个点,使用函数scatter,并向它传递x,y坐标,并可使用参数s指定点的大小
2、绘制一系列点,向scatter传递两个分别包含x值和y值的列表
3、设置坐标轴的取值范围:函数axis()要求提供四个值,x,y坐标轴的最大值和最小值
4、使用参数edgecolor在函数scatter中设置数据点的轮廓
5、向scatter传递参数c,指定要使用的颜色
6、使用颜色映射
7、自动保存图表:使用函数plt.savefig()
8、设置绘图窗口尺寸
9、实例程序
axis=0表示数组的第0轴,因为h本来就只包含1列,你直接做数组运算一下x.sum()就知道了。