有没有比 pandas, numpy 轻量的二维数组模块

imn1:常用二维数组,有时按行读,有时按列读
类似 pandas.DataFrame.loc/iloc/at

单元不多,几十到几百,计算也不多,有时只是读取 /更改而已
如果用内置列表,切换行列方式读取,往往要 zip 一遍,或者另外保存一份旋转(行列交换)的数组
pandas/numpy 感觉太重,没有什么计算的话,不想转到他们的格式,然后又转出来,直接用 dataframe 传参也是太重

想找个轻量一点的模块记录二维数组,方便自由按行或按列读取
namedtuple 格式本来也不错,问题它是 tuple,改变一个单元的值就要一次转换,也不适用 sort

没有的话,打算自己写个类算了

TimePPT:如果考量计算效率的话,numpy 在 python 里是王者了

wuwukai007:是要打包吗,考虑大小

imn1:@wuwukai007 #2
首先,暂不考虑不打包
其次,如果计算部分不多的,这个模块也不会太巨型吧?

shm7:@TimePPT 可能 lz 没法理解 numpy 为什么高效的原因。

wuwukai007:不打包就装一个吗,难道公司内网没有 pip 源不好装?

imn1:@wuwukai007 #4
那我没理解对你说的话
我以为你说项目最后要打包给别人用

@shm7
@TimePPT
Numpy 我知道,常用来计算证券,和商业数据分析
只是有些场合,计算很少的,提取数据的情况多
举个例子
有个二维数组,要提取某一列 1/3/5/7 的数据,如果 pandas/numpy 很简单;如果只是 list,要么写个表达式,要么 zip 一次,取出这列再提取
这个二维数组到其他地方提取方式可能不同,所以要原样传递
这些场合后续计算很少,部分只是提取完就 print 了,没有计算,所以不想每个 py 都 import 一把牛刀,或者把 dataframe 作为参数传递,希望中间过程轻量一点,只是处理杀鸡这点小事而已

这只是个例子,还有很多类似场景
我问问有没有我不知道的模块可以做这事,没有的话,我自己弄个类,搞几个闭包写成方法,就不用各个场景都多写一两句 zip/for 这样的重复劳动了

shm7:@imn1 我还是用的太少了,只有 3 年,不太明白 numpy 被称为重的地方在哪。也不理解 2 维数组取 1357 有啥麻烦。

pandas 索引相关,请问如何快速实现在每个索引元素后面额外顺序增加索引元素

yellowtail:比如有 [ 1,5,11,17 ] 索引,现在需要在每个索引元素后面顺序增加两个额外索引元素变为 [ 1,2,3,5,6,7,11,12,13,17,18,19 ] 想过在 dataframe 里增加一个真值列,然后 shift 几次叠加,但是用数量大了以后反复敲 shift 太傻了。。。 一下想不出好办法,求思路

pandas 分组后如何去后百分之 80 的值

sznewbee096:在练习的时候,python 数据处理用 pandas.groupby 分组后取后百分之 80 的值,tail 只能取具体的后几行。

有没有比 QQ 自带截图还好用的工具?

hfl1995:目前打开 QQ 的目的就是随时可以调出那个截图工具,现在想脱离 QQ,不知道有没有好用的第三方截图,要实现可以打码,标注,区域截图。dayFvckingByte:macOS 自带除了打码之外似乎都可以 ThirdFlame:snipaste yulang:snipaste,你会回来赞我的 HereApp:iShot SuujonH:Snipa…

Pandas 中的递归定义 - python

我有一个时序A,其中包含多个值。我需要获得一系列B,其经代数定义如下:B[t] = a * A[t] + b * B[t-1] 我们可以假设B[0] = 0,a和b是实数。有什么方法可以在Pandas中进行这种递归计算吗?还是我只能选择按照this answer的建议在Python中循环?作为输入示例:> A = pd.Series(np.random…

如何更改索引和转置 Pandas - python

我是 Pandas 的新手,正在尝试在日期框架上进行一些转换,但到达了封闭路径。我的数据框是: entity_name request_status dcount 0 entity1 0 1 1 entity1 1 6 2 entity1 2 13 3 entity2 1 4 4 entity2 2 7 我需要此数据框如下所示:index 0 1 2 ent…