- 主题:求个效率高的解,关于pandas
假设我有一个DF1
1/4 1/5 1/6 1/7 1/8 1/11 1/12
167246.SH 0.551 0.548 0.545 0.542 0.540 0.532 0.529
167282.SH 0.548 0.545 0.542 0.540 0.537 0.529 0.526
167260.SH 0.551 0.548 0.545 0.542 0.540 0.532 0.529
114784.SZ 0.548 0.545 0.542 0.540 0.537 0.529 0.526
我需要求解一个DF2,其index和column都和DF1一致,但是其取值是要来自于一个我的自定义函数def(a,b)
其中a取值就是DF1.column的日期,b取值是交叉点的具体数值,例如0.06
最简单的是直接loc来做但是效率太低了,我目前尝试用apply但是感觉可能用的不太对,数据有误
for i in df1.columns:
df2[i]=df1[i].apply(partial(def,i))
--
FROM 106.39.56.*
取决你的自定义函数的输入是标量还是矢量
标量用apply
矢量参考 df[“C”]= df.A+df.B
df2= df.C
【 在 kpo 的大作中提到: 】
: 假设我有一个DF1
: 1/4 1/5 1/6 1/7 1/8 1/11 1/12
: 167246.SH 0.551 0.548 0.545 0.542 0.540 0.532 0.529
: 167282.SH 0.548 0.545 0.542 0.540 0.537 0.529
: ..................
发自「今日水木 on iPhone XS」
--
修改:wwwfish FROM 223.104.38.*
FROM 223.104.38.*
是标量,输入的就是DF1的列和对应列的每一个值作为两个输入ab,例如def('1/4',0.548),但是apply我的用法好像不太对……?
【 在 wwwfish 的大作中提到: 】
: 取决你的自定义函数的输入是标量还是矢量
: 标量用apply
: 矢量参考 df[“C”]= df.A+df.B
: ...................
--
修改:kpo FROM 106.39.56.*
FROM 106.39.56.*
有这发贴的工夫,早搞清楚了...
【 在 kpo 的大作中提到: 】
: 是标量,输入的就是DF1的列和对应列的每一个值作为两个输入ab,例如def('1/4',0.548),但是apply我的用法好像不太对……?
:
: --
发自「今日水木 on iPhone XS」
--
FROM 223.104.38.*
已经面向CSDN编程了没搞清楚啊……不能用大神的标准要求半路出家的……
【 在 wwwfish 的大作中提到: 】
: 有这发贴的工夫,早搞清楚了...
: 发自「今日水木 on iPhone XS」
--
FROM 106.39.56.*
大神会翻墙而已
【 在 kpo 的大作中提到: 】
: 已经面向CSDN编程了没搞清楚啊……不能用大神的标准要求半路出家的……
: --
发自「今日水木 on iPhone XS」
--
FROM 223.104.38.*
大神除了翻墙和动嘴皮子能解答下问题不……
【 在 wwwfish 的大作中提到: 】
: 大神会翻墙而已
: 发自「今日水木 on iPhone XS」
--
FROM 106.39.56.*
尽可能矢量化。可提速几十倍
【 在 kpo 的大作中提到: 】
: 假设我有一个DF1
: 1/4 1/5 1/6 1/7 1/8 1/11 1/12
: 167246.SH 0.551 0.548 0.545 0.542 0.540 0.532 0.529
: ...................
--
FROM 221.222.21.*
要面向stackoverflow才行
【 在 kpo (kpkpkp) 的大作中提到: 】
: 发信人: kpo (kpkpkp), 信区: Python
: 标 题: Re: Re:求个效率高的解,关于pandas
: 发信站: 水木社区 (Tue Mar 16 19:44:47 2021), 转信
:
--
FROM 221.237.30.*
自定义函数具体是什么逻辑呢
【 在 kpo 的大作中提到: 】
: 假设我有一个DF1
: 1/4 1/5 1/6 1/7 1/8 1/11 1/12
: 167246.SH 0.551 0.548 0.545 0.542 0.540 0.532 0.529
: 167282.SH 0.548 0.545 0.542 0.540 0.537 0.529
: ..................
发自「今日水木 on Redmi K20 Pro Premium Edition」
--
FROM 120.245.92.*