小编use*_*092的帖子

Python - 数据框的维度

Python新手.

在R中,您可以使用dim(...)获取矩阵的维数.Python Pandas的数据框中的相应功能是什么?

python pandas

69
推荐指数
2
解决办法
8万
查看次数

Pandas Merge - 如何避免重复列

我正在尝试两个数据帧之间的合并.每个数据框都有两个索引级别(日期,cusip).例如,在列中,某些列匹配两者(货币,adj日期).

通过索引合并这些的最佳方法是什么,但不要取两份货币和约会日期.

每个数据框是90列,所以我试图避免手动编写所有内容.

df:                 currency  adj_date   data_col1 ...
date        cusip
2012-01-01  XSDP      USD      2012-01-03   0.45
...

df2:                currency  adj_date   data_col2 ...
date        cusip
2012-01-01  XSDP      USD      2012-01-03   0.45
...
Run Code Online (Sandbox Code Playgroud)

如果我做:

dfNew = merge(df, df2, left_index=True, right_index=True, how='outer')
Run Code Online (Sandbox Code Playgroud)

我明白了

dfNew:              currency_x  adj_date_x   data_col2 ... currency_y adj_date_y
date        cusip
2012-01-01  XSDP      USD      2012-01-03   0.45             USD         2012-01-03
Run Code Online (Sandbox Code Playgroud)

谢谢!...

python pandas

55
推荐指数
4
解决办法
8万
查看次数

熊猫HDFStore - 如何重新开放?

我用以下方法创建了一个文件:

store = pd.HDFStore('/home/.../data.h5')
Run Code Online (Sandbox Code Playgroud)

并使用以下方法存储一些表

store['firstSet'] = df1
store.close()
Run Code Online (Sandbox Code Playgroud)

我关闭了python并在一个清新的环境中重新打开.

如何重新打开此文件?

我去的时候:

store = pd.HDFStore('/home/.../data.h5')
Run Code Online (Sandbox Code Playgroud)

我收到以下错误.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/misc/apps/linux/python-2.6.1/lib/python2.6/site-packages/pandas-0.10.0-py2.6-linux-x86_64.egg/pandas/io/pytables.py", line 207, in __init__
    self.open(mode=mode, warn=False)
  File "/misc/apps/linux/python-2.6.1/lib/python2.6/site-packages/pandas-0.10.0-py2.6-linux-x86_64.egg/pandas/io/pytables.py", line 302, in open
    self.handle = _tables().openFile(self.path, self.mode)
  File "/apps/linux/python-2.6.1/lib/python2.6/site-packages/tables/file.py", line 230, in openFile
    return File(filename, mode, title, rootUEP, filters, **kwargs)
  File "/apps/linux/python-2.6.1/lib/python2.6/site-packages/tables/file.py", line 495, in __init__
    self._g_new(filename, mode, **params)
  File "hdf5Extension.pyx", line 317, in tables.hdf5Extension.File._g_new (tables/hdf5Extension.c:3039)
tables.exceptions.HDF5ExtError: HDF5 error back trace

  File …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

pandas python中没有列名

关于熊猫数据框的基本问题.我有一个带数据点的1x1数据帧,并且没有列标题(当前). df[0,0]不起作用,因为我认为它期待列名.另外,df.0不工作也不df[0,'']. df.ix[0,0]确实有效.

一般来说,我是否需要有一个列名?将列名与pandas数据帧一起使用是最佳做法吗?如果我的sql查询没有列标题,那么最好在那时添加它们吗?

谢谢您的帮助.

python pandas

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

Pandas列加/减

我正在使用pandas/python数据帧.我想做一个滞后减法.

我目前正在使用:

newCol = df.col - df.col.shift()
Run Code Online (Sandbox Code Playgroud)

这导致第一点出现NaN:

NaN
45
63
23
...
Run Code Online (Sandbox Code Playgroud)

第一个问题:这是这样做减法的最好方法吗?

第二:如果我想向这个新列添加一列(相同的行数).有没有办法可以让所有NaN的0用于计算?

例如:

col_1 = 
Nan
45
63
23

col_2 = 
10
10
10
10

new_col = 
10
55
73
33
Run Code Online (Sandbox Code Playgroud)

并不是

NaN
55
73
33
Run Code Online (Sandbox Code Playgroud)

谢谢.

python pandas

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

Pandas Merge(pd.merge)如何设置索引和连接

我有两个pandas数据帧:dfLeft和dfRight,日期为索引.

dfLeft:

            cusip    factorL
date  
2012-01-03    XXXX      4.5
2012-01-03    YYYY      6.2
....
2012-01-04    XXXX      4.7
2012-01-04    YYYY      6.1
....
Run Code Online (Sandbox Code Playgroud)

dfRight:

            idc__id    factorR
date  
2012-01-03    XXXX      5.0
2012-01-03    YYYY      6.0
....
2012-01-04    XXXX      5.1
2012-01-04    YYYY      6.2
Run Code Online (Sandbox Code Playgroud)

两者都有接近的形状 (121900,3)

我尝试了以下合并:

test = pd.merge(dfLeft, dfRight, left_index=True, right_index=True, left_on='cusip', right_on='idc__id', how = 'inner')
Run Code Online (Sandbox Code Playgroud)

这给了测试一个形状(60643500, 6).

关于这里出了什么问题的任何建议?我希望它基于date和cusip/idc_id进行合并.注意:对于这个例子,cusips排成一行,但实际上可能不是这样.

谢谢.

预期产出测试:

             cusip    factorL    factorR
date  
2012-01-03    XXXX      4.5          5.0
2012-01-03    YYYY      6.2          6.0
....
2012-01-04    XXXX      4.7          5.1
2012-01-04    YYYY      6.1          6.2
Run Code Online (Sandbox Code Playgroud)

python pandas

11
推荐指数
2
解决办法
4万
查看次数

Groupby - 采取最后一个元素 - 我如何保持nan的?

我有一个df,我想抓住CUSIP下面最近的一行.

In [374]: df.head()
Out[374]: 
              CUSIP        COLA         COLB       COLC  
date                                                          
1992-05-08    AAA          238         4256      3.523346   
1992-07-13    AAA          NaN         4677      3.485577   
1992-12-12    BBB          221         5150      3.24
1995-12-12    BBB          254         5150      3.25
1997-12-12    BBB          245         Nan       3.25
1998-12-12    CCC          234         5140      3.24145
1999-12-12    CCC          223         5120      3.65145
Run Code Online (Sandbox Code Playgroud)

我在用:

df = df.reset_index().groupby('CUSIP').last().reset_index.set_index('date')
Run Code Online (Sandbox Code Playgroud)

我要这个:

              CUSIP        COLA         COLB       COLC  
date           
1992-07-13    AAA          NaN         4677      3.485577      
1997-12-12    BBB          245         Nan       3.25
1999-12-12    CCC          223         5120      3.65145
Run Code Online (Sandbox Code Playgroud)

相反,我得到:

              CUSIP        COLA         COLB       COLC  
date           
1992-07-13    AAA          238         4677 …
Run Code Online (Sandbox Code Playgroud)

python pandas

6
推荐指数
1
解决办法
161
查看次数

Numpy dtype - 数据类型不明白

我有一个数据框,我正在查看与每列相关的数据类型.

当我跑:

In [23]: df.dtype.descr

Out [24]: [(u'date', '<i8'), (u'open', '<f8'), (u'high', '<f8'), (u'low', '<f8'), (u'close', '<f8'), (u'volume', '<f8'), (u'dividend', '<f8'), (u'adj_factor', '<f8'), (u'split_factor', '<f8'), (u'liq', '<f8'), (u'currency', '|O')]
Run Code Online (Sandbox Code Playgroud)

我想将货币dtype设置为S7.我在做:

In [25]: dtype_new[-1] = (u'currency', "|S7")
In [26]: print dtype_new
Out [27]: [(u'date', '<i8'), (u'open', '<f8'), (u'high', '<f8'), (u'low', '<f8'), (u'close', '<f8'), (u'volume', '<f8'), (u'dividend', '<f8'), (u'adj_factor', '<f8'), (u'split_factor', '<f8'), (u'liq', '<f8'), (u'currency', '|S7')]
Run Code Online (Sandbox Code Playgroud)

它看起来是正确的格式.所以我试着把它放回我的df:

In [28]: df = df.astype(np.dtype(dtype_new))
Run Code Online (Sandbox Code Playgroud)

我收到错误:

TypeError('data type not understood',)
Run Code Online (Sandbox Code Playgroud)

我应该改变什么?谢谢.这是在我最近更新anaconda之前工作的,我不知道这个问题.谢谢.

调整:

df.dtype是

In [23]: …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

6
推荐指数
1
解决办法
6457
查看次数

相关矩阵的平均值 - pandas data fram

我在pandas python DataFrame中有一个大的相关矩阵:df(342,342).

如何获取上三角形中所有数字的均值,sd等,不包括沿对角线的1?

谢谢.

python pandas

4
推荐指数
1
解决办法
3482
查看次数

从dict在数据框中创建一个新列

我有一只熊猫df:

     a   b  c
0   'k'  2  4
1   'l'  3  7
2   'm'  0  -3
3   'n'  4  4
Run Code Online (Sandbox Code Playgroud)

我有一个词:{'k':'kilo','l':'lima','m':'mike','n':'november'}

如何在我的df中创建一个新列,从dict中的那些键:

     a   b  c    new
0   'k'  2  4   'kilo'
1   'l'  3  7   'lima'
2   'm'  0  -3  'mike'
3   'n'  4  4   'november'
Run Code Online (Sandbox Code Playgroud)

谢谢.

python pandas

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

标签 统计

pandas ×10

python ×10

numpy ×1