小编Mys*_*r91的帖子

Pandas:分配具有多个条件和日期阈值的列

编辑:

我在大熊猫数据框df中有一个金融投资组合,其中指数是日期,我每个日期有多个金融股.

例如数据帧:

Date    Stock   Weight  Percentile  Final weight
1/1/2000    Apple   0.010   0.75    0.010
1/1/2000    IBM    0.011    0.4     0
1/1/2000    Google  0.012   0.45    0
1/1/2000    Nokia   0.022   0.81    0.022
2/1/2000    Apple   0.014   0.56    0
2/1/2000    Google  0.015   0.45    0
2/1/2000    Nokia   0.016   0.55    0
3/1/2000    Apple   0.020   0.52    0
3/1/2000    Google  0.030   0.51    0
3/1/2000    Nokia   0.040   0.47    0
Run Code Online (Sandbox Code Playgroud)

我创建了Final_weight这样做的分配值Weight,只要Percentile大于0.7

现在我希望这有点复杂,我仍然希望Weight被分配到Final_weight什么时候Percentile is > 0.7,但是在这个日期之后(在未来的任何时候),而不是在股票Percentile没有时变为0 >0.7 …

python finance portfolio dataframe pandas

11
推荐指数
1
解决办法
1426
查看次数

熊猫read_csv加快

我正在读取一个大型csv,其中包含约1000万行和20个不同的列(带有标头名称)。

我有值,2列与日期和一些字符串。

目前,我需要大约1.5分钟的时间来加载数据,如下所示:

df = pd.read_csv('data.csv', index_col='date', parse_dates = 'date')
Run Code Online (Sandbox Code Playgroud)

我想问一下,如何在读取数据后立即将其数据框设置得更快呢?

我尝试使用HDF5数据库,但是速度很慢。

我尝试读取的数据子集(我选择了8列,并从实际的20列和几百万行中给出了3行):

Date    Comp     Rating Price   Estprice    Dividend?   Date_earnings   Returns
3/12/2017   Apple   Buy   100   114              Yes    4/4/2017    0.005646835
3/12/2017   Blackberry  Sell    120 97            No    4/25/2017   0.000775331
3/12/2017   Microsoft   Hold    140 100          Yes    5/28/2017   0.003028423
Run Code Online (Sandbox Code Playgroud)

谢谢你的建议。

python database pandas

8
推荐指数
1
解决办法
8306
查看次数

使用 Quantile 函数在 pandas 分位数中创建新列

我想为每个日期创建一个分位数列。计算每个唯一值销售值的分位数。即类别始终对应于每个特定日期的相同销售数字。

\n\n

我有按日期索引的数据框。有许多日期和多个相同的日期。1 天 df 的子集示例:

\n\n
          Category  Sales   Ratio 1 Ratio 2\n11/19/2016  Bar     300     0.46    0.96\n11/19/2016  Bar     300     0.56    0.78\n11/19/2016  Bar     300     0.43    0.96\n11/19/2016  Bar     300     0.47    0.94\n11/19/2016  Casino  550     0.92    0.12\n11/19/2016  Casino  550     0.43    0.74\n11/19/2016  Casino  550     0.98    0.65\n11/19/2016  Casino  550     0.76    0.67\n11/19/2016  Casino  550     0.79    0.80\n11/19/2016  Casino  550     0.90    0.91\n11/19/2016  Casino  550     0.89    0.31\n11/19/2016  Caf\xc3\xa9    700     0.69    0.99\n11/19/2016  Caf\xc3\xa9    700     0.07    0.18\n11/19/2016  Caf\xc3\xa9    700     0.75    0.59\n11/19/2016  Caf\xc3\xa9    700     0.07    0.64\n11/19/2016  Caf\xc3\xa9    700     0.14    0.42\n11/19/2016  Caf\xc3\xa9    700     0.30 …
Run Code Online (Sandbox Code Playgroud)

python group-by quantile pandas

0
推荐指数
1
解决办法
8201
查看次数

找出pandas中列中值的先前索引值

对于pandas数据框中的"stock"列,我想添加一个名为last_index的列,它给出了给定Stock之前的索引值的值:

输入:

           Stock
02/10/17    IBM
02/10/17    Apple
02/10/17    Google
02/10/17    Microsoft
02/10/17    Lenova
02/10/17    Nintendo
02/10/17    Sony
02/10/17    Toshiba
03/10/17    IBM
03/10/17    Apple
03/10/17    Google
03/10/17    Microsoft
03/10/17    Lenova
03/10/17    Nintendo
03/10/17    Sony
03/10/17    BMW
03/10/17    Mercedes
04/10/17    Toshiba
Run Code Online (Sandbox Code Playgroud)

输出:

               Stock    Last_index
02/10/17    IBM 
02/10/17    Apple   
02/10/17    Google  
02/10/17    Microsoft   
02/10/17    Lenova  
02/10/17    Nintendo    
02/10/17    Sony    
02/10/17    Toshiba 
03/10/17    IBM         02/10/17
03/10/17    Apple       02/10/17
03/10/17    Google      02/10/17
03/10/17    Microsoft   02/10/17
03/10/17    Lenova      02/10/17
03/10/17    Nintendo    02/10/17
03/10/17    Sony        02/10/17
03/10/17 …
Run Code Online (Sandbox Code Playgroud)

python pandas

-2
推荐指数
1
解决办法
105
查看次数

标签 统计

pandas ×4

python ×4

database ×1

dataframe ×1

finance ×1

group-by ×1

portfolio ×1

quantile ×1