wangxishi

2020-10-10   阅读量: 15816

Python 大数据

python根据指定的不同列计数

扫码加入数据分析学习群

如图1,想统计相同月份下的每个月的分箱个数,我写的代码是:data[data['日期']=='2020-06-01']["分箱"].value_counts()

为什么出来的各分箱统计结果都是0 ,如图2

1.png

2.png

问题1010.xlsx


添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
108.6475 3 8 关注作者 收藏

评论(8)

wangxishi
2020-10-10

好的 谢谢~


0.0000 0 0 回复
wangxishi
2020-10-10

用df['日期']==datetime.strptime("2020-06-01","%Y-%m-%d")这个代码可以实现单个日期的类型转化,然后我整列转化用的这个代码data['日期'] = pd.to_datetime(data['日期']),好像可以实现整列转化了

0.0000 0 0 回复
PGC123
2020-10-10

嗯嗯,pandas内置了许多时间处理的方法、函数,多看看找到规律了就好了。

0.2527 1 0 回复
wangxishi
2020-10-10

为什么我这个转化出来以后全是false呢

1.png

0.0000 0 0 回复
PGC123
2020-10-10

1、我看到你的序号好像不是连续的了,所以不知道你的data做了什么样的变化,还是不是原来的数据集,这个你需要确认一下。

2、另外你可以对返回值做个求和,如果都是false则最终的和是0 ,如果包含True,则最终的和就是True的个数。

0.2527 1 0 回复
wangxishi
2020-10-10

那么我想把这列字符串转化为日期类型,怎么转化比较方便呢,可以整列转化

0.0000 0 0 回复
wangxishi
2020-10-10

有没有能将我这个整列的字符串转化为日期格式的办法?

0.0000 0 0 回复
PGC123
2020-10-10

首先,你日期这列就是日期格式,这一点你可以使用 df.info()来查看每一列的数据类型。

字符串类型的数据跟日期类型的数据在实际使用过程中存在哪些差异?


字符串类型的数据不适合进行一些计算比如两个日期相差多少天、当天是周几等,这类情况需要由原来的字符串转换为日期类型。如果是根据日期做聚合运算的时候是字符串也无妨的。

0.2527 1 0 回复
PGC123
2020-10-10

另外pandas 可以实现字符串与日期的互换,这类资料也是非常的多,CDA答疑社区也有相关帖子进行介绍这里就不再展开了

0.0000 0 0
wangxishi
2020-10-10

那么这个问题怎么解决呢,就是我数据里面是日期,但是我想实现这个功能

0.0000 0 0 回复
PGC123
2020-10-10

时间的比较当然需要用时间类型的数据进行比较了。python中可以使用datetime模块来处理时间相关问题。

代码如下:

from datetime import datetime

df['日期']==datetime.strptime("2020-06-01","%Y-%m-%d")

image.png

0.2527 1 0 回复
wangxishi
2020-10-10

为什么布尔值全是false呢,这个函数要怎么查看帮助文档

1.png

0.0000 0 0 回复
PGC123
2020-10-10

返回false 说明你这个'2020-06-01'写法并不是真实数据的样子,这是字符串,而你数据里面应该是日期,所以不相等。


0.2527 1 0 回复
PGC123
2020-10-10

data['日期']=='2020-06-01'这句有问题吧,你可以单独执行这句看看返回的布尔值是啥样。你应该用聚合函数来计算吧?目前会查看帮助文档了吗?

55.4607 1 0 回复

推荐课程

推荐帖子