一个小练习,理解起来挺吃力的,我加了注释,以后看的多了,再回来看,应该好理解...

本文通过具体案例,讲解了如何使用Python的Pandas库进行数据分组,并应用自定义函数进行最大值和最小值的统计。通过将数据集按特定列分组,再对另一列应用函数,实现了高效的数据分析。
# group_6.apply(function_name) # 对分组对象应用自定义函数
# 练习: 对df6按k3分组后,求每组中k2列的最大值和最小值
# 要求利用 apply 函数

这个作业看着很简单,但是我理解起来挺吃力的。
这个答案不是我写的,实在是不好下口,因为理解的不到位,没有切入点吧...不知道为啥这个这么吃力
df6 = pd.DataFrame({'k1': ['one', 'two'] * 3 + ['two'],

                    'k2': [1, 1, 2, 3, 3, 4, 4]})

bins = pd.cut(df6['k2'], [0, 2, 4], labels=['Low', 'High']) #还是用0~2,2~4分开,但是标签用low跟high

df6['k3'] = bins   #

group_6 = df6['k2'].groupby(df6['k3'])  #这是懵逼,我的理解是df6['k2]这一串数字进行group化统计,用k3里的low与hig分成2组

print(group_6.max(),'我是max')  #打印了一下看了看 k3
                                 #                 Low     2                      #low里边最大的
                                 #                 High    4                      #high里边最大的
                                 #                 Name: k2, dtype: int64 我是max
print(group_6.min(),'我是min') ##打印了一下看了看 k3
                                 #                 Low     1                      #low里边最小的
                                 #                 High    3                      #high里边最小的
                                 #                 Name: k2, dtype: int64 我是min
def myfunc(g):  #这里也能看懂,就是传入一个group(分组统计的类)

    return {'Max': g.max(), 'Min': g.min()}     #以字典的形势返回

print(group_6.apply(myfunc))   #group_适用于后边的函数表达式

运行结果

k3
Low     2
High    4
Name: k2, dtype: int64 我是max

k3
Low     1
High    3
Name: k2, dtype: int64 我是min

k3       
Low   Max    2
      Min    1
High  Max    4
      Min    3
Name: k2, dtype: int64

 



 

转载于:https://www.cnblogs.com/PYlog/p/9147366.html

在IDEA中查看源码只能看到反编译文件且无开发者注释,可尝试以下方法解决: ### 关联源代码 - 许开源库会在Maven中央仓库或其他仓库提供对应的源码包(通常以 `-sources.jar` 形式存在)。在IDEA中,对于Maven或Gradle项目,IDEA一般会自动尝试下载并关联源码包。如果未关联成功,可手动操作。 - 对于Maven项目,在 `pom.xml` 文件中找到对应依赖,右键点击该依赖,选择 `Library Properties`,在弹出窗口中点击 `Download Sources` 按钮,IDEA会自动下载并关联源码。 - 对于Gradle项目,在 `build.gradle` 文件中找到对应依赖,在IDEA的Gradle工具窗口中,右键点击项目,选择 `Refresh Gradle Project`,IDEA会尝试下载源码。若还是没有,同样可以在依赖上右键选择 `Library Properties` 后下载。 ### 手动添源码 - 若无法通过自动下载关联源码,可手动下载源码包。例如从开源项目的GitHub仓库下载源码压缩包,解压后,在IDEA中右键点击项目,选择 `Open Module Settings`,在 `Libraries` 中找到对应的库,点击右侧的 `+` 号,选择 `Java`,然后定位到解压后的源码目录,点击 `OK` 完成添。 ### 配置反编译器 - 确保IDEA的反编译器配置正确。进入 `File` -> `Settings`(Windows/Linux)或 `IntelliJ IDEA` -> `Preferences`(Mac),在搜索框输入 `Decompiler`,进入 `Java Decompiler` 页面,确保反编译器设置符合需求,如选择合适的反编译级别等。有时调整反编译设置可能会使反编译结果更接近原始代码。 ### 更新IDEA和插件 - 旧版本的IDEA或反编译插件可能存在一些问题,导致反编译效果不佳。将IDEA更新到最新版本,同时检查并更新相关的插件,如反编译插件等,可能会改善反编译结果和显示情况。 ```xml <!-- Maven 依赖示例 --> <dependency> <groupId>com.example</groupId> <artifactId>example-library</artifactId> <version>1.0.0</version> </dependency> ``` ```groovy // Gradle 依赖示例 implementation 'com.example:example-library:1.0.0' ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值