看帖神器
未名空间
追帖动态
头条新闻
每日新帖
最新热帖
新闻存档
热帖存档
文学峸
虎扑论坛
未名空间
北美华人网
北美微论坛
看帖神器
登录
← 下载
《看帖神器》官方
iOS App
,体验轻松追帖。
python里如何写函数产生报表/2way_tables ?
查看未名空间今日新帖
最新回复:2020年5月31日 23点6分 PT
共 (16) 楼
返回列表
订阅追帖
只看未读
更多选项
阅读全帖
只看图片
只看视频
查看原帖
b
bluesky321
大约 5 年
楼主 (未名空间)
学python一个月有余,还在摸索阶段。 现在我想生成很多二维表, 总结某种因素有什
么影响。 比如性别,种族,对covid19死亡率什么影响, 该表col_label是: 男生存
,男死亡,女生存,女死亡,男性死亡率,女性死亡率, 男女比。 row_label是:男
,女,总计。
每次调用的时候写: get_table_categorical( dataset_name, input_var, outcome_
var );
input_var 可以是离散的,种族,性别,地区。
output 是离散的,生/死 ,yes/no
如果输入变量是连续的,如年龄,血氧,血压,脉搏,呼吸,再另外写个函数
get_table_continuous( dataset_name, input_var, outcome_var,N );
N是把input_var分成几组,decile, pentile, etc
以后会有功能扩展:
1. 如果我有20个变量,希望可以把所有结果输出到一个xlsx里面。
2. 一个因子对应一个柱状图,同样在xlsx里。
http://biostat.mc.vanderbilt.edu/wiki/pub/Main/Bios311Syllabus2014/230_chisquare_test_for_categorical_data_part2.pdf ,第六页这个表差不多,应该更简单些。
不知谁能给点思路 ? 应该用哪个包, 怎么实现?
f
forcar
大约 5 年
2 楼
表格的话,最好用 pandas 吧, 简单一点的用 numpy ?
【 在 bluesky321 (bluesky) 的大作中提到: 】
: 学python一个月有余,还在摸索阶段。 现在我想生成很多二维表, 总结某种因素有什
: 么影响。 比如性别,种族,对covid19死亡率什么影响, 该表col_label是: 男生存
: ,男死亡,女生存,女死亡,男性死亡率,女性死亡率, 男女比。 row_label是:男
: ,女,总计。
: 每次调用的时候写: get_table_categorical( dataset_name, input_var, outcome_
: var );
: input_var 可以是离散的,种族,性别,地区。
: output 是离散的,生/死 ,yes/no
: 如果输入变量是连续的,如年龄,血氧,血压,脉搏,呼吸,再另外写个函数
: get_table_continuous( dataset_name, input_var, outcome_var,N );
: ...................
d
didadida
大约 5 年
3 楼
pdf里的输出看着像Stata??
【 在 bluesky321 (bluesky) 的大作中提到: 】
: 学python一个月有余,还在摸索阶段。 现在我想生成很多二维表, 总结某种因素有什
: 么影响。 比如性别,种族,对covid19死亡率什么影响, 该表col_label是: 男生存
: ,男死亡,女生存,女死亡,男性死亡率,女性死亡率, 男女比。 row_label是:男
: ,女,总计。
: 每次调用的时候写: get_table_categorical( dataset_name, input_var, outcome_
: var );
: input_var 可以是离散的,种族,性别,地区。
: output 是离散的,生/死 ,yes/no
: 如果输入变量是连续的,如年龄,血氧,血压,脉搏,呼吸,再另外写个函数
: get_table_continuous( dataset_name, input_var, outcome_var,N );
: ...................
b
bluesky321
大约 5 年
4 楼
这么说吧, 这种表格,N行,7列, N = ( no. of levels of input_var + 2 ) sas实现大概需要50,60行, R里面也差不多,20行~30行。
python/pandas研究了一个月,完全没思路。
都说python好,所以上来请教一下。我觉着python天生不是干这个的,所以有难度。 R天生就是折腾数据的,又被hadley改造过,所以容易些。
d
didadida
大约 5 年
5 楼
这个任何编程语言都可以做
估计最容易的是VBA
任何语言都可以产生CSV文件
然后csv直接由Excel当作external source读取, 里边早就有了各类pivot table/chart
【 在 bluesky321 (bluesky) 的大作中提到: 】
: 这么说吧, 这种表格,N行,7列, N = ( no. of levels of input_var + 2 ) sas实
: 现大概需要50,60行, R里面也差不多,20行~30行。
: python/pandas研究了一个月,完全没思路。
: 都说python好,所以上来请教一下。我觉着python天生不是干这个的,所以有难度。 R
: 天生就是折腾数据的,又被hadley改造过,所以容易些。
w
walkrandom
大约 5 年
6 楼
就是一个array操作
不要用任何的库
你的输出输入都很明确
简单的一个function就可以了
max 30 lines
自己写,一次bug free,
然后你就入门了
你到处找库,最多就是一个调包侠
s
sunshineboy
大约 5 年
7 楼
pandas 里面用groupby 一次就出来了
然后把dataframe打印出来 或者to_csv 就跟你贴的pdf第六页里的一样了
数据处理都很类似的 R没用过 但Python numpy pandas是继承Matlab的风格 核
心是矩阵 2阶矩阵其实也就是表
b
beidapig
大约 5 年
8 楼
colab可以直接操作 google sheet
https://medium.com/analytics-vidhya/colab-and-google-sheets-surprisingly-
powerful-combination-for-data-science-part-1-bbbb11cbd8e
g
guvest
大约 5 年
9 楼
Csv导excel有trick。学成个excel专家,在今日似乎不合时宜。建议避开。
连Kaggle上的题目有时候数据格式都会遇到错。用excel打开csv,然后存一下,就可以
跟之前的原始数据不一样。而且不给你提示。
Pandas groupby对新手可以的。
【 在 didadida(滴滴嗒嗒) 的大作中提到: 】
<br>: 这个任何编程语言都可以做
<br>: 估计最容易的是VBA
<br>: 任何语言都可以产生CSV文件
<br>: 然后csv直接由Excel当作external source读取, 里边早就有了各类pivot table
/chart
<br>: R
<br>
d
database
大约 5 年
10 楼
second pandas, pandas 可以parse html table.应该也可以生产html table.
【 在 forcar (forcar) 的大作中提到: 】
: 表格的话,最好用 pandas 吧, 简单一点的用 numpy ?
g
guvest
大约 5 年
11 楼
Pandas DF确有to_html
【 在 database(《※★※§Hey§※★※》) 的大作中提到: 】
: second pandas, pandas 可以parse html table.应该也可以生产html table.
b
bluesky321
大约 5 年
12 楼
多谢顾老捧场。 我的工作是给业务部门量化支持,业务部门每天有各种想法,看似千
奇百怪,说到底都是测量各种指标,做出各种报表;( 好比药厂临床试验,大的不得
了的产业,从程序员,统计师博士,到食品药物管理局,其实就一件事, 产生报表, 得出结论 )。
我原先认为做报表python应该很擅长,学了一个月,还真不是这么回事。 数学计算还
可以,python做报表没那么容易 。 比如我写一个字, customer_id, 那么这个字是数据集里面的变量名, 还是编程环境里面的变量名 ? 还是装着变量名的变量 ? 顾老
对起名字有研究,其实是很现实的问题。
R做报表很繁琐, 因为涉及到所谓‘函数编程’,什么全区变量,局部变量,懒惰计算(lazy eval)等等, 我花了很长时间,写了大概三四十行,终于算是完成了。 行数虽
然短,但要调用哈德利的软件包,其实是个试错的过程。 不是算法多复杂,而是用别
人的轮子, 轮子上有坑, 得自己填了。
私信请教了贵版一些专家,收到中肯的建议,在此一并谢过。
g
guvest
大约 5 年
13 楼
如果是新人。上个python,pandas的船应该不会后悔。
应用千变万化,任何一个tool,我怀疑,做复杂的报表,都不容易,都会碰到很多问题
。(名字问题,属于程序之外的能力。切不谈。)
R的前景,前途如何,我个人不太清楚。可能R的专家才能说明白。
Excel其实是非常厉害的软件。但是和开源社区的潮流不符合。
我给找来的新人也讲,工作是公司的,技能点是自己的。所以我安排人改用什么,学什么,一定会讲清背后的原因。然后说:决定是诸位与我一同做出的。
【 在 bluesky321(bluesky) 的大作中提到: 】
<br>: 多谢顾老捧场。 我的工作是给业务部门量化支持,业务部门每天有各种
想法,
看似千
<br>: 奇百怪,说到底都是测量各种指标,做出各种报表;( 好比药厂临床试
验,大
的不得
<br>: 了的产业,从程序员,统计师博士,到食品药物管理局,其实就一件事, 产生
报表,
<br>: 得出结论 )。
<br>: 我原先认为做报表python应该很擅长,学了一个月,还真不是这么回事。 数学
计算还
<br>: 可以,python做报表没那么容易 。 比如我写一个字, customer_id, 那么这个
字是数
<br>: 据集里面的变量名, 还是编程环境里面的变量名 ? 还是装着变量名的
变量 ?
顾老
<br>: 对起名字有研究,其实是很现实的问题。
<br>: R做报表很繁琐, 因为涉及到所谓‘函数编程’,什么全区变量,局部变量,懒
惰计算
<br>: (lazy eval)等等, 我花了很长时间,写了大概三四十行,终于算是完成了。
行数虽
: ...................
<br>
b
bluesky321
大约 5 年
14 楼
应付工作, copy_paste足够了。 但对自己没提高啊 。
老魏不是倡导要做个有追求的人, 脱离低级趣味的人嘛。
贵版dracdoc很久前比较过R和python, R适合搞分析,给老板展示观点;python是做到
产品里去给消费者用;
g
guvest
大约 5 年
15 楼
我应该没倡导过啥?“抛却自家无尽藏,沿门持钵效贫儿”
每个人自身都是宝藏。用不着别人倡导。
我反感不弄个“大牛说了”,“业界认为”,“大家认为”。。。的噱头就不敢说话
的胆小如鼠之辈。这点可确认。
个人的真知就算是错的,那也是良知。反过来,一丝真知也无,那就没人性了。
【 在 bluesky321 (bluesky) 的大作中提到: 】
: 应付工作, copy_paste足够了。 但对自己没提高啊 。
: 老魏不是倡导要做个有追求的人, 脱离低级趣味的人嘛。
: 贵版dracdoc很久前比较过R和python, R适合搞分析,给老板展示观点;python是做到
: 产品里去给消费者用;
w
whzemuch
大约 5 年
16 楼
pandas.pivot_table试过没有,和excel的pivot table功能类似, 应该能解决你的问
题
请输入帖子链接
收藏帖子
学python一个月有余,还在摸索阶段。 现在我想生成很多二维表, 总结某种因素有什
么影响。 比如性别,种族,对covid19死亡率什么影响, 该表col_label是: 男生存
,男死亡,女生存,女死亡,男性死亡率,女性死亡率, 男女比。 row_label是:男
,女,总计。
每次调用的时候写: get_table_categorical( dataset_name, input_var, outcome_
var );
input_var 可以是离散的,种族,性别,地区。
output 是离散的,生/死 ,yes/no
如果输入变量是连续的,如年龄,血氧,血压,脉搏,呼吸,再另外写个函数
get_table_continuous( dataset_name, input_var, outcome_var,N );
N是把input_var分成几组,decile, pentile, etc
以后会有功能扩展:
1. 如果我有20个变量,希望可以把所有结果输出到一个xlsx里面。
2. 一个因子对应一个柱状图,同样在xlsx里。
http://biostat.mc.vanderbilt.edu/wiki/pub/Main/Bios311Syllabus2014/230_chisquare_test_for_categorical_data_part2.pdf ,第六页这个表差不多,应该更简单些。
不知谁能给点思路 ? 应该用哪个包, 怎么实现?
表格的话,最好用 pandas 吧, 简单一点的用 numpy ?
【 在 bluesky321 (bluesky) 的大作中提到: 】
: 学python一个月有余,还在摸索阶段。 现在我想生成很多二维表, 总结某种因素有什
: 么影响。 比如性别,种族,对covid19死亡率什么影响, 该表col_label是: 男生存
: ,男死亡,女生存,女死亡,男性死亡率,女性死亡率, 男女比。 row_label是:男
: ,女,总计。
: 每次调用的时候写: get_table_categorical( dataset_name, input_var, outcome_
: var );
: input_var 可以是离散的,种族,性别,地区。
: output 是离散的,生/死 ,yes/no
: 如果输入变量是连续的,如年龄,血氧,血压,脉搏,呼吸,再另外写个函数
: get_table_continuous( dataset_name, input_var, outcome_var,N );
: ...................
pdf里的输出看着像Stata??
【 在 bluesky321 (bluesky) 的大作中提到: 】
: 学python一个月有余,还在摸索阶段。 现在我想生成很多二维表, 总结某种因素有什
: 么影响。 比如性别,种族,对covid19死亡率什么影响, 该表col_label是: 男生存
: ,男死亡,女生存,女死亡,男性死亡率,女性死亡率, 男女比。 row_label是:男
: ,女,总计。
: 每次调用的时候写: get_table_categorical( dataset_name, input_var, outcome_
: var );
: input_var 可以是离散的,种族,性别,地区。
: output 是离散的,生/死 ,yes/no
: 如果输入变量是连续的,如年龄,血氧,血压,脉搏,呼吸,再另外写个函数
: get_table_continuous( dataset_name, input_var, outcome_var,N );
: ...................
这么说吧, 这种表格,N行,7列, N = ( no. of levels of input_var + 2 ) sas实现大概需要50,60行, R里面也差不多,20行~30行。
python/pandas研究了一个月,完全没思路。
都说python好,所以上来请教一下。我觉着python天生不是干这个的,所以有难度。 R天生就是折腾数据的,又被hadley改造过,所以容易些。
这个任何编程语言都可以做
估计最容易的是VBA
任何语言都可以产生CSV文件
然后csv直接由Excel当作external source读取, 里边早就有了各类pivot table/chart
【 在 bluesky321 (bluesky) 的大作中提到: 】
: 这么说吧, 这种表格,N行,7列, N = ( no. of levels of input_var + 2 ) sas实
: 现大概需要50,60行, R里面也差不多,20行~30行。
: python/pandas研究了一个月,完全没思路。
: 都说python好,所以上来请教一下。我觉着python天生不是干这个的,所以有难度。 R
: 天生就是折腾数据的,又被hadley改造过,所以容易些。
就是一个array操作
不要用任何的库
你的输出输入都很明确
简单的一个function就可以了
max 30 lines
自己写,一次bug free,
然后你就入门了
你到处找库,最多就是一个调包侠
pandas 里面用groupby 一次就出来了
然后把dataframe打印出来 或者to_csv 就跟你贴的pdf第六页里的一样了
数据处理都很类似的 R没用过 但Python numpy pandas是继承Matlab的风格 核
心是矩阵 2阶矩阵其实也就是表
colab可以直接操作 google sheethttps://medium.com/analytics-vidhya/colab-and-google-sheets-surprisingly-
powerful-combination-for-data-science-part-1-bbbb11cbd8e
Csv导excel有trick。学成个excel专家,在今日似乎不合时宜。建议避开。
连Kaggle上的题目有时候数据格式都会遇到错。用excel打开csv,然后存一下,就可以
跟之前的原始数据不一样。而且不给你提示。
Pandas groupby对新手可以的。
【 在 didadida(滴滴嗒嗒) 的大作中提到: 】
<br>: 这个任何编程语言都可以做
<br>: 估计最容易的是VBA
<br>: 任何语言都可以产生CSV文件
<br>: 然后csv直接由Excel当作external source读取, 里边早就有了各类pivot table
/chart
<br>: R
<br>
second pandas, pandas 可以parse html table.应该也可以生产html table.
【 在 forcar (forcar) 的大作中提到: 】
: 表格的话,最好用 pandas 吧, 简单一点的用 numpy ?
Pandas DF确有to_html
【 在 database(《※★※§Hey§※★※》) 的大作中提到: 】
: second pandas, pandas 可以parse html table.应该也可以生产html table.
多谢顾老捧场。 我的工作是给业务部门量化支持,业务部门每天有各种想法,看似千
奇百怪,说到底都是测量各种指标,做出各种报表;( 好比药厂临床试验,大的不得
了的产业,从程序员,统计师博士,到食品药物管理局,其实就一件事, 产生报表, 得出结论 )。
我原先认为做报表python应该很擅长,学了一个月,还真不是这么回事。 数学计算还
可以,python做报表没那么容易 。 比如我写一个字, customer_id, 那么这个字是数据集里面的变量名, 还是编程环境里面的变量名 ? 还是装着变量名的变量 ? 顾老
对起名字有研究,其实是很现实的问题。
R做报表很繁琐, 因为涉及到所谓‘函数编程’,什么全区变量,局部变量,懒惰计算(lazy eval)等等, 我花了很长时间,写了大概三四十行,终于算是完成了。 行数虽
然短,但要调用哈德利的软件包,其实是个试错的过程。 不是算法多复杂,而是用别
人的轮子, 轮子上有坑, 得自己填了。
私信请教了贵版一些专家,收到中肯的建议,在此一并谢过。
如果是新人。上个python,pandas的船应该不会后悔。
应用千变万化,任何一个tool,我怀疑,做复杂的报表,都不容易,都会碰到很多问题
。(名字问题,属于程序之外的能力。切不谈。)
R的前景,前途如何,我个人不太清楚。可能R的专家才能说明白。
Excel其实是非常厉害的软件。但是和开源社区的潮流不符合。
我给找来的新人也讲,工作是公司的,技能点是自己的。所以我安排人改用什么,学什么,一定会讲清背后的原因。然后说:决定是诸位与我一同做出的。
【 在 bluesky321(bluesky) 的大作中提到: 】
<br>: 多谢顾老捧场。 我的工作是给业务部门量化支持,业务部门每天有各种
想法,
看似千
<br>: 奇百怪,说到底都是测量各种指标,做出各种报表;( 好比药厂临床试
验,大
的不得
<br>: 了的产业,从程序员,统计师博士,到食品药物管理局,其实就一件事, 产生
报表,
<br>: 得出结论 )。
<br>: 我原先认为做报表python应该很擅长,学了一个月,还真不是这么回事。 数学
计算还
<br>: 可以,python做报表没那么容易 。 比如我写一个字, customer_id, 那么这个
字是数
<br>: 据集里面的变量名, 还是编程环境里面的变量名 ? 还是装着变量名的
变量 ?
顾老
<br>: 对起名字有研究,其实是很现实的问题。
<br>: R做报表很繁琐, 因为涉及到所谓‘函数编程’,什么全区变量,局部变量,懒
惰计算
<br>: (lazy eval)等等, 我花了很长时间,写了大概三四十行,终于算是完成了。
行数虽
: ...................
<br>
应付工作, copy_paste足够了。 但对自己没提高啊 。
老魏不是倡导要做个有追求的人, 脱离低级趣味的人嘛。
贵版dracdoc很久前比较过R和python, R适合搞分析,给老板展示观点;python是做到
产品里去给消费者用;
我应该没倡导过啥?“抛却自家无尽藏,沿门持钵效贫儿”
每个人自身都是宝藏。用不着别人倡导。
我反感不弄个“大牛说了”,“业界认为”,“大家认为”。。。的噱头就不敢说话
的胆小如鼠之辈。这点可确认。
个人的真知就算是错的,那也是良知。反过来,一丝真知也无,那就没人性了。
【 在 bluesky321 (bluesky) 的大作中提到: 】
: 应付工作, copy_paste足够了。 但对自己没提高啊 。
: 老魏不是倡导要做个有追求的人, 脱离低级趣味的人嘛。
: 贵版dracdoc很久前比较过R和python, R适合搞分析,给老板展示观点;python是做到
: 产品里去给消费者用;
pandas.pivot_table试过没有,和excel的pivot table功能类似, 应该能解决你的问
题