小编toa*_*eez的帖子

在Pandas中有一种方法可以在dataframe.apply中使用先前的行值吗?

我有以下数据帧:

 Index_Date    A    B    C    D
 ===============================
 2015-01-31    10   10   Nan  10
 2015-02-01     2    3   Nan  22 
 2015-02-02    10   60   Nan  280
 2015-02-03    10   100   Nan  250
Run Code Online (Sandbox Code Playgroud)

要求:

 Index_Date    A    B    C    D
 ===============================
 2015-01-31    10   10   10   10
 2015-02-01     2    3   23   22
 2015-02-02    10   60   290  280
 2015-02-03    10   100  3000 250
Run Code Online (Sandbox Code Playgroud)

Column C导出用于2015-01-31通过取valueD.

然后,我需要使用valueC用于2015-01-31和乘以valueA2015-02-01添加B.

我尝试了一个apply …

python iteration for-loop dataframe pandas

60
推荐指数
5
解决办法
7万
查看次数

MultiIndexed Dataframes的Pandas设计注意事项

此问题的目的是进一步探索MultiIndex数据框,并向各种任务提出最佳方法的问题.

创建DataFrame

import pandas as pd

df = pd.DataFrame({'index_date' : ['12/07/2016','12/07/2016','12/07/2016','12/07/2016','12/07/2016'], 
               'portfolio' : ['A','B','C','D','E'], 
               'reporting_ccy' : ['GBP','GBP','GBP','GBP','GBP'],
               'portfolio_ccy' : ['JPY','USD','USD','EUR','EUR'],
               'amount' : [100,200,300,400,500],
               'injection' : [1,2,3,4,5],
               'to_usd' : [1.3167,1.3167,1.3167,1.3167,1.3167],
               'to_ccy' : [0.009564,1,1,1.1093,1.1093],
               'm5' : [2,4,6,8,10],
               'm6' : [1,3,5,7,9]}); 
Run Code Online (Sandbox Code Playgroud)

透视DataFrame

df_pivot = df.pivot_table(index='index_date',columns=['portfolio','portfolio_ccy','reporting_ccy']).swaplevel(0, 1, axis=1).sortlevel(axis=1)
Run Code Online (Sandbox Code Playgroud)

重命名列

df_pivot.columns.names = ['portfolio','measures', 'portfolio_ccy', 'reporting_ccy']
Run Code Online (Sandbox Code Playgroud)

这产生了数据的旋转表示,使得:

  1. 投资组合可能有一个或多个措施
  2. 显示投资组合的默认货币
  3. 显示投资组合报告货币
  4. 度量可能包含1种或多种报告货币.

我的条款4.鉴于我们有货币的xRates,实施的最佳方法是什么?

这样我们就可以创建一个数据框,例如派生的数据框:

创建DataFrame

df1 = pd.DataFrame({'index_date' : ['12/07/2016','12/07/2016','12/07/2016','12/07/2016','12/07/2016'], 
           'portfolio' : ['A','B','C','D','E'], 
           'reporting_ccy' : ['JPY','USD','USD','EUR','EUR'],
           'portfolio_ccy' : ['JPY','USD','USD','EUR','EUR'],
           'amount' : [13767.2522, 263.34, 395.01, 474.785901, …
Run Code Online (Sandbox Code Playgroud)

python pandas

14
推荐指数
1
解决办法
479
查看次数

如何舍入包含混合数据类型的 Pandas DataFrame 中的值以进行进一步的数据比较?

我有一个数据框 df_left:

  IDX1 IDX2 IDX3     IDX4 ValueType Value
0    A   A1    Q  1983 Q4         W    10.123
1    A   A1    Q  1983 Q4         X     A
2    A   A1    Q  1983 Q4         Y     F
3    A   A1    Q  1983 Q4         Z   NaN
4    A   A1    Q  1984 Q1         W   110.456
...
Run Code Online (Sandbox Code Playgroud)

从以前的帖子创建:

背景资料

AND 数据框 df_right:

  IDX1 IDX2 IDX3     IDX4 ValueType Value
0    A   A1    Q  1983 Q4         W    10
1    A   A1    Q  1983 Q4         X     A
2    A   A1    Q …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

5
推荐指数
2
解决办法
5733
查看次数

Windows 10上的Python 3.6 pip安装matplotlib和其他库失败

我最近有一台新的笔记本电脑,我想安装所有的python库。但是,其中一些只是不会安装,例如matplotlib。

关于我的计算机:具有Python 3.6的Windows 10,根据pip,这些库。

colorama (0.3.7)
Django (1.8.17)
Mathics (1.0)
mpmath (0.19)
pip (9.0.1)
python-dateutil (2.6.0)
setuptools (32.3.0)
six (1.10.0)
sympy (1.0)
wheel (0.29.0)
Run Code Online (Sandbox Code Playgroud)

“ pip install matplotlib”的结果:

错误处理c:\ users \ marvi \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages \ matplotlib-2.0.0rc2-py3.6-nspkg.pth的第1行:

  追溯(最近一次通话):
    addpackage中的文件“ c:\ users \ marvi \ appdata \ local \ programs \ python \ python36 \ lib \ site.py”,行169
      exec(行)
    文件“”,第1行,位于 
    文件“”,第557行,位于module_from_spec中
  AttributeError:'NoneType'对象没有属性'loader'

文件剩余部分被忽略
收集matplotlib
  使用缓存的matplotlib-1.5.3.tar.gz
    来自命令python setup.py egg_info的完整输出:
    错误处理c:\ users …

python pip matplotlib conda python-3.6

5
推荐指数
1
解决办法
1万
查看次数

如何使用 Pandas 重新排列 DataFrame?

我有一个数据框:

                 Amount                           dwy                                         bmd
Portfolio   EUR GBP JPY USD                 EUR GBP JPY USD                          EUR    GBP JPY USD
date
2016-05-13  100 200 300 400                -0.5 0.5 0   0.8                          3.8    3   0   3
Run Code Online (Sandbox Code Playgroud)

我想把它转移到这个:

date        ccy             amt       dwy   bmd
2016-05-13  EUR             100      -0.5   3.8
2016-05-13  GBP             200       0.5   3
2016-05-13  JPY             300       0     0
2016-05-13  USD             400       0.8   3
Run Code Online (Sandbox Code Playgroud)

我已经尝试过df.stack()并且df.unstackdf.T以多种方式尝试过。除了将它一块一块地拆开并重新组装之外,还有没有更好的方法?

python pandas

3
推荐指数
1
解决办法
1874
查看次数

标签 统计

python ×5

pandas ×4

conda ×1

dataframe ×1

for-loop ×1

iteration ×1

matplotlib ×1

numpy ×1

pip ×1

python-3.6 ×1