Python爱好者俱乐部
18247 542
[484 楼] 大信 [泡菜]
24-1-7 17:24
大信 发表于 2024-01-07 16:36
请教一个问题,假如有张表(如下图)stocks,记录了6支股票(C1-C6)一段时间的收盘价格,现在需要计算这6支股票这段时间每天的收益率,SQL能用一条语句完成吗?
当天收益率(pctchange) = (今日收盘价 - 昨日收盘价)/昨日收盘价


补充一下,是要计算每支股票、每天的收益率。生成一个二维表格。谢谢!
[483 楼] 大信 [泡菜]
24-1-7 16:36
闲聊状态 发表于 2024-01-01 09:36
还是觉得在数据库里操作数据更简单


请教一个问题,假如有张表(如下图)stocks,记录了6支股票(C1-C6)一段时间的收盘价格,现在需要计算这6支股票这段时间每天的收益率,SQL能用一条语句完成吗?

当天收益率(pctchange) = (今日收盘价 - 昨日收盘价)/昨日收盘价

[482 楼] 大信 [泡菜]
24-1-3 13:10
闲聊状态 发表于 2024-01-01 09:36
还是觉得在数据库里操作数据更简单


sql的功能的确很强大,有时候我看高手构造的非常复杂的SQL语句(当然功能也巨牛),就心生畏惧了。
不过你的SQLite内存数据库的思路,也不放借鉴一下。主要是感觉自己的SQL代码能力很一般。

另外,不是所有人都有db环境且熟悉SQL。有些行业使用python的就是一般分析型员工,数据多来自excel。所以dataframe还是很有市场的,不然pandas为啥这么流行?
[481 楼] 闲聊状态 [泡菜]
24-1-3 10:52
lhy02 发表于 2024-01-03 10:47
操作数据肯定还是SQL写起来简单
好吧,用sql实现一下分组线性回归?

行吧。。。你赢了。。。

遇到数据你都有pd吧
[480 楼] 闲聊状态 [泡菜]
24-1-3 10:50
oliverlu1818 发表于 2024-01-03 10:39
装了Linux后最烦人就是各种更新,而且服务器在国外,所以经常更新失败,或者等待时间超长。我装的是debain

国内有大量的软件镜像 比如这个。。。我一直在用。。。

北京外国语大学开源软件镜像站 | BFSU Open Source Mirror
mirrors.bfsu.edu.cn
[479 楼] lhy02 [泡菜]
24-1-3 10:47
闲聊状态 发表于 2024-01-03 10:37
建表是 to_sql 干的
操作数据肯定还是SQL写起来简单,毕竟是专业的,df自带的分组和处理 也不能一句出来啊。更何况 处理数据也不仅仅是 group by,sum

操作数据肯定还是SQL写起来简单
好吧,用sql实现一下分组线性回归?
[478 楼] oliverlu1818 [泡菜]
24-1-3 10:39
闲聊状态 发表于 2020-08-10 17:04
1.最好使用linux系统,原因是 字符集  linux 默认 utf-8
2。非要win,那就杜绝在路径等地方遇见中文。。。。
3。好好学习下字符集的绕绕,对于这种松散组织的语言很有必要。大MS的全家桶内部好用也不是没原因的,python没那环境,...
装了Linux后最烦人就是各种更新,而且服务器在国外,所以经常更新失败,或者等待时间超长。我装的是debain
[477 楼] 闲聊状态 [泡菜]
24-1-3 10:37
lhy02 发表于 2024-01-03 10:31
python df2=df[['aaa','bbb']]
你那里就得create table。然后你只能通过注释才能看出来新建表df2是df的aaa、bbb两列。
dataframe在我记忆中有分组,然后分组以后做各种事情。sql只能把分组和处理分组...

建表是 to_sql 干的
操作数据肯定还是SQL写起来简单,毕竟是专业的,df自带的分组和处理 也不能一句出来啊。更何况 处理数据也不仅仅是 group by,sum
[476 楼] lhy02 [泡菜]
24-1-3 10:31
闲聊状态 发表于 2024-01-03 10:14
操作数据尤其是二维数据,还有比SQL更简单 方便 明了的吗? 毕竟是基本上唯一或者的“第四代编程语言”,python这种也只是第三代。。
而且SQL数据库有很多种,即便是sqlite这种也可以把数据放在硬盘上。减少内存使用,并且还可以多进程,多程序共...
python df2=df[['aaa','bbb']]
你那里就得create table。然后你只能通过注释才能看出来新建表df2是df的aaa、bbb两列。

dataframe在我记忆中有分组,然后分组以后做各种事情。sql只能把分组和处理分组揉到一条语句里。
[475 楼] 闲聊状态 [泡菜]
24-1-3 10:14
lhy02 发表于 2024-01-02 20:16
pandas加列,标准sql应该没这功能。不知道sqlite3有没有这功能,同时效率如何。
行列的增删后形成新dataframe,sql做就得新建表。
形成新dataframe多了的话,sql语句看着可就极不直观了。
操作数据尤其是二维数据,还有比SQL更简单 方便 明了的吗? 毕竟是基本上唯一或者的“第四代编程语言”,python这种也只是第三代。。

而且SQL数据库有很多种,即便是sqlite这种也可以把数据放在硬盘上。减少内存使用,并且还可以多进程,多程序共享数据
而且新建删除表也不麻烦啊...

[474 楼] lhy02 [泡菜]
24-1-2 20:16
闲聊状态 发表于 2024-01-01 09:36
还是觉得在数据库里操作数据更简单
pandas加列,标准sql应该没这功能。不知道sqlite3有没有这功能,同时效率如何。

行列的增删后形成新dataframe,sql做就得新建表。
形成新dataframe多了的话,sql语句看着可就极不直观了。
lhy02 编辑于 2024-01-02 20:21
[473 楼] 闲聊状态 [泡菜]
24-1-1 09:36
还是觉得在数据库里操作数据更简单
[472 楼] 闲聊状态 [泡菜]
24-1-1 09:20


我觉得吧。。。现在gpt 类工具还是挺好的

但是 我对着操作dataframe数据实在不理解。。我都是to_sql read_sql.....




闲聊状态 编辑于 2024-01-01 09:28
[471 楼] 大信 [泡菜]
23-12-31 20:56
yejun 发表于 2022-05-20 16:16
Pandas支持numba和cython对dataframe操作,还支持矢量化,应该不比C慢。


您好,再请教一个问题。
dataframe在轴向的操作上有一个axis参数(axis='columns|index'),有时columns代表行,有时却又代表列(index亦然),这是为什么呢?columns代表行index代表列这样的约定太反直觉了,为何不统一规定columns代表列,index代表行,所有函数里的axis参数在轴向操作方面保持一致呢?

下面是两个典型的案例。



[470 楼] 大信 [泡菜]
23-12-30 15:55
再次买了“熊猫们”的书籍,准备沉下心来系统地学习
大信 编辑于 2023-12-30 15:55
[469 楼] benniewang [资深泡菜]
23-4-9 23:10
大信 发表于 2023-04-08 10:50
几年前,你的sql提示给了我思路,解决了进程间数据共享的问题。当时为了尽快完成程序,说干就干postgresql顶上顺利完成了任务。—— 当年忘了道谢,在此补上
后来我继续搜索了一些资料,发现交换数据的方法还有管道、队列、信号量等等,不过这...

以后可以问chatgpt
[468 楼] yejun [老坛泡菜]
23-4-8 14:13
大信 发表于 2023-04-08 10:50
几年前,你的sql提示给了我思路,解决了进程间数据共享的问题。当时为了尽快完成程序,说干就干postgresql顶上顺利完成了任务。—— 当年忘了道谢,在此补上
后来我继续搜索了一些资料,发现交换数据的方法还有管道、队列、信号量等等,不过这...

我觉得现在编程的问题完全可以问chatgpt了。
[467 楼] 大信 [泡菜]
23-4-8 10:50
benniewang 发表于 2020-08-10 21:54
后台搞个sql多好。


几年前,你的sql提示给了我思路,解决了进程间数据共享的问题。当时为了尽快完成程序,说干就干postgresql顶上顺利完成了任务。—— 当年忘了道谢,在此补上
后来我继续搜索了一些资料,发现交换数据的方法还有管道、队列、信号量等等,不过这些都不适合我二维表格大量数据交换需求。

这几天程序在某省运行中发现有的时候杀毒软件会莫名其妙地中断我的SQL连接,当然我基本确认是杀毒软件的问题。不过又让我萌生了用内存来解决数据共享的好奇,终于在网上发现,原来Manger是个好东西.....

今天休息,写几行代码来验证可行性。
[466 楼] 大信 [泡菜]
22-10-14 09:57
PyQt有好的学习教材资料推荐么?
英文的就算了,有阅读能力但程度还有欠缺。
需要中文版的,适合初学者由浅入深,首先要建立基本的概念掌握基本的思路,再循序渐进深入提高。手册式的参考手册就算了。

可以是网上下载的PDF、也可以通过电商购买纸质书籍。请不吝推荐,谢谢!
发布自 iOS客户端
[465 楼] 大信 [泡菜]
22-5-27 15:20
benniewang 发表于 2022-5-20 22:30
垃圾信息有好几个层面的。

之前说的,是这些信息根本无法准确被读取---这个层面更低,程序员碰到很头疼。
你这个信息本身是可以被准确读取的,只是信息的价值为零而已---对于程序员来说,这个无所谓。但对于数据分析师来说,这个很头疼,因为数据的可靠性很低,以此做出的分析结果也可能是有偏的。


.............

本帖最后由 大信 于 2022-5-27 15:30 编辑
[464 楼] yejun [老坛泡菜]
22-5-23 12:46
arondes 发表于 2022-5-23 09:35
还有Ray也可以
但我一般都不用


找到一个更方便的软件modin,完全和pandas兼容,只要把import改改就可以用了,底层可以用ray也可以用dask。
[463 楼] arondes [陈年泡菜]
22-5-23 09:35
yejun 发表于 2022-5-23 01:22
今天没事读pandas文档,发现一个不错的库dask,可以直接并行化dataframe操作,而且支持分布运行。
大概看了一下文档,感觉很厉害啊,可以可视化计算的过程和调度。可以直接读分布式的parquet文件,感觉可以不用sql直接处理大数据了。

试了一下dask的几个demo,真的很神奇,df的操作自动被分割成小的计算单元,单机也可以用,不需要自己切割数据了。


还有Ray也可以
但我一般都不用
[462 楼] yejun [老坛泡菜]
22-5-23 01:22
今天没事读pandas文档,发现一个不错的库dask,可以直接并行化dataframe操作,而且支持分布运行。
大概看了一下文档,感觉很厉害啊,可以可视化计算的过程和调度。可以直接读分布式的parquet文件,感觉可以不用sql直接处理大数据了。 本帖最后由 yejun 于 2022-5-23 01:36 编辑
以下内容由 yejun 于 2022-5-23 04:24 补充
试了一下dask的几个demo,真的很神奇,df的操作自动被分割成小的计算单元,单机也可以用,不需要自己切割数据了。
[461 楼] 大信 [泡菜]
22-5-21 20:19
benniewang 发表于 2022-5-20 22:30
垃圾信息有好几个层面的。


对的,我说的是另外一个层面的垃圾数据。我只是想说技术部门很难阻止它的产生,在国内垃圾数据这个问题太复杂了。
[460 楼] 大信 [泡菜]
22-5-21 20:17
benniewang 发表于 2022-5-20 22:25
一个小小的提醒,序号是从0到n-1。


哈哈哈啊,写代码的时候肯定知道从0开始到n-1,但平时说话就习惯了用“自然语言”而不是代码表述方式。
[459 楼] benniewang [资深泡菜]
22-5-20 22:30
大信 发表于 2022-5-20 14:28
哈哈哈哈,“本捏王”在国外不了解国情。前段时间朋友从业务库中导出数据让我帮忙处理,里面垃圾遍地!
比如采集的客户信息,手机号码很多都是,<**隐私保护,信息超过7天的手机号码不予显示**>,<**隐私保护,信息超过7天的手机号码不予显示**>
客户姓名有: 渣男、仙人板板、蓝霸天........明显是背地里对企业发泄怨气。

垃圾信息有好几个层面的。

之前说的,是这些信息根本无法准确被读取---这个层面更低,程序员碰到很头疼。
你这个信息本身是可以被准确读取的,只是信息的价值为零而已---对于程序员来说,这个无所谓。但对于数据分析师来说,这个很头疼,因为数据的可靠性很低,以此做出的分析结果也可能是有偏的。
[458 楼] benniewang [资深泡菜]
22-5-20 22:25
大信 发表于 2022-5-20 14:18
比如二维表格:

name           email
张三             [email][email protected][/email]
李四             [email][email protected][/email]
王五             [email]wangwu@sina·com[/email]

按照你的list构造方法,实际上把列变成了行? 迭代时循环可以用序号1-N,不过这也是个不错的方法。

一个小小的提醒,序号是从0到n-1。
[457 楼] Cityrain [陈年泡菜]
22-5-20 18:04
大信 发表于 2022-5-20 14:28
哈哈哈哈,“本捏王”在国外不了解国情。前段时间朋友从业务库中导出数据让我帮忙处理,里面垃圾遍地!
比如采集的客户信息,手机号码很多都是,<**隐私保护,信息超过7天的手机号码不予显示**>,<**隐私保护,信息超过7天的手机号码不予显示**>
客户姓名有: 渣男、仙人板板、蓝霸天........明显是背地里对企业发泄怨气。
数据处理本来就是垃圾进,垃圾出。用什么工具都没有用。
比起这些名称,麻烦的是一些特殊符号。
[456 楼] yejun [老坛泡菜]
22-5-20 16:16
benniewang 发表于 2022-5-19 21:28
要速度快,内存小,请用C。


Pandas支持numba和cython对dataframe操作,还支持矢量化,应该不比C慢。
本帖最后由 yejun 于 2022-5-20 16:59 编辑
[455 楼] 大信 [泡菜]
22-5-20 14:28
benniewang 发表于 2022-5-20 03:10
无论是外部还是内部,都可以跟对方提要求给你可操作的干净数据,否则整天忙着清洗数据效率太低了。


哈哈哈哈,“本捏王”在国外不了解国情。前段时间朋友从业务库中导出数据让我帮忙处理,里面垃圾遍地!
比如采集的客户信息,手机号码很多都是,<**隐私保护,信息超过7天的手机号码不予显示**>,<**隐私保护,信息超过7天的手机号码不予显示**>
客户姓名有: 渣男、仙人板板、蓝霸天........明显是背地里对企业发泄怨气。