小编Lis*_*isa的帖子

数据透视表错误:目前不支持 1 ndim Categorical

我的目标是按“标签”绘制“分数”,我不关心“日期”和“Cusip”。我想使用“枢轴”来重塑数据,以便每个标签都在一列中,我可以对其进行箱线图。

              date   Cusip    Label Score
663182  2015-07-31  00846UAG    AAA 138.15
663183  2015-07-31  00846UAH    AAA 171.93
663184  2015-07-31  00846UAJ    AAA 175.67
663185  2015-07-31  023767AA    BB  187.92
663186  2015-07-31  023770AA    BB  176.25

t.pivot(index=['date','Cusip'],columns='Label',values='Score')
Run Code Online (Sandbox Code Playgroud)

错误显示:

NotImplementedError: > 1 ndim Categorical are not supported at this time
Run Code Online (Sandbox Code Playgroud)

更多细节:

C:\Anaconda3\lib\site-packages\pandas\core\categorical.py in __init__(self, values, categories, ordered, name, fastpath, levels)
    285             try:
--> 286                 codes, categories = factorize(values, sort=True)
    287             except TypeError:

C:\Anaconda3\lib\site-packages\pandas\core\algorithms.py in factorize(values, sort, order, na_sentinel, size_hint)
    184     uniques = vec_klass()
--> 185     labels = …
Run Code Online (Sandbox Code Playgroud)

python pivot pandas

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

打印Jupyter笔记本幻灯片的最佳方法?如何放置分页符?

我想打印我的Jupyter笔记本,并与非程序员同事共享印刷版。

到目前为止,我所做的是:

我的问题:如何放置分页符以在每个pdf页面上指定内容?

一旦我将slides(html)转换为pdf,文本和图形就不在pdf中的预期位置。我希望该图和解释该图的文本在同一页面中。我是否需要在Jupyter笔记本的markdown单元格中放置一些分页符?或者如何在pdf的每一页上指定内容,而不是让浏览器决定

另外,我试图将Jupyter notebok直接转换为pdf,但是遇到问题:将jupyter notebook转换为pdf:安装pandoc时遇到错误

html python reveal.js jupyter nbconvert

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

理解一维向量上的 np.matmul

a = [1, 2, 3]
b = [10, 10, 10]
Run Code Online (Sandbox Code Playgroud)

np.matmul(a, b) 给出的结果是 60。

numpy 如何将 (3,) 和 (3,) 维度相乘并返回点积而不是外积 (3 * 3) 或抛出错误“维度不匹配”?

numpy matrix multidimensional-array matrix-multiplication numpy-ndarray

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

python3中“dict_value”和“dict_key”的用法

dict = {'a':1, 'b':2}

dict.keys给出dict_keys(['a', 'b'])

dict.values给出dict_values([1, 2]).

有人可以举例说明如何使用dict_keysdict_values派上用场吗?为什么字典返回这些类型而不是只返回列表?

我经常做list(dict.keys)and list(dict.values),转换成一个列表来循环。

python dictionary

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

Matplotlib:滚动图

我是 Python 新手,我想为很长的时间序列数据实现滚动图。我从 Matplotlib 中找到了一个示例,如下所示。

http://scipy-cookbook.readthedocs.io/items/Matplotlib_ScrollingPlot.html

当我从链接运行示例时,我发现每次滚动绘图并释放滚动条时,滚动条都会返回到开头。想要滚动到下一个位置?我需要再次从头开始滚动。

我想了解它为什么会发生以及如何解决它。

python scroll matplotlib

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

python:将数据帧更新为现有的Excel工作表而不覆盖同一工作表和其他工作表上的内容

为此奋斗了好几个小时,所以我决定向专家寻求帮助:

我想修改现有的Excel工作表而不覆盖内容.我在这个excel文件中有其他工作表,我不想影响其他工作表.

我已经创建了示例代码,不知道如何添加我想保留的第二张表.

t=pd.date_range('2004-01-31', freq='M', periods=4)
first=pd.DataFrame({'A':[1,1,1,1],
             'B':[2,2,2,2]}, index=t)
first.index=first.index.strftime('%Y-%m-%d')
writer=pd.ExcelWriter('test.xlsx')
first.to_excel(writer, sheet_name='Here')
first.to_excel(writer, sheet_name='Keep')

#how to update the sheet'Here', cell A5:C6 with following without overwriting the rest?
#I want to keep the sheet "Keep"
update=pd.DataFrame({'A':[3,4],
                     'B':[4,5]}, index=pd.date_range('2004-04-30', 
                                                     periods=2,
                                                     freq='M'))
Run Code Online (Sandbox Code Playgroud)

我研究过SO.但不确定如何将数据帧写入工作表.

示例我尝试过:

import openpyxl
xfile = openpyxl.load_workbook('test.xlsx')
sheet = xfile.get_sheet_by_name('test')
sheet['B5']='wrote!!'
xfile.save('test2.xlsx')
Run Code Online (Sandbox Code Playgroud)

python xlrd pandas openpyxl

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

如何在不添加列和索引名称的情况下旋转数据框

枢轴是一个很棒的功能,但会产生一个带有一些我不需要的额外信息的数据框:我怎样才能实现以下目标?我不需要“bar”或“foo”,我想让 df 更简洁。谢谢。

在此输入图像描述

python pivot pandas

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

无法用 DataFrame 上的方法板替换 ['']

运行python2.7

问题1

我想在我的数据框“test”中用 None 替换空字符串 '' :

    from numpy.random import randn
    test = pd.DataFrame(randn(3,2))
    test.iloc[0,0]=''
    test.replace('', None)
Run Code Online (Sandbox Code Playgroud)

给我错误类型错误:

不能用 DataFrame 上的方法板替换 ['']。

什么地方出了错?

问题2:

从 numpy.random 导入 randn

test = pd.DataFrame(randn(3,2))
# this works
test.iloc[0,1]= 'A'
test[1] = test[1].replace('A','b')
# this does not
test.iloc[0,0]=''
test.loc[0] = test[0].replace('', None)


test 
          0         1
0                   b
1  0.042052  -1.44156
2  0.462131 -0.303288
Run Code Online (Sandbox Code Playgroud)

我期待

test 
          0         1
0    None           b
1  0.042052  -1.44156
2  0.462131 -0.303288
Run Code Online (Sandbox Code Playgroud)

python pandas

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

pycharm中"替换所有"的快捷方式是什么

我想打一个短信并替换Pycharm中的全部.点击ctrl + R后,我键入文本进行搜索并将文本作为替换.我需要点击"替换"/"全部替换".我目前将手移到鼠标并单击按钮,但我在一天内做了很多次.谁知道什么是短信?谢谢.

这是官方文档,显示如何查找和替换,单击按钮 https://www.jetbrains.com/help/pycharm/2016.3/finding-and-replacing-text-in-project.html

python pycharm

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

如何使用pip为python3安装软件包?现在它总是为python2安装

我有些困惑了。我现在无法为python35安装/升级任何软件包。我在Mac上有python27和python35(通过anaconda)。每当我想通过pip安装python软件包时,都会调用与python2配对的软件包。

转到anaconda文件夹(安装了我的python35的文件夹):ls -al | 我得到的结果是:

-rwxrwxr-x    1 xx  staff      113 Jul 26  2016 conda-pipbuild
-rwxr-xr-x    1 xx  staff      230 Dec 17 21:40 pip
-rwxr-xr-x    1 xx  staff      230 Dec 17 21:40 pip3
-rwxr-xr-x    1 xx  staff      230 Dec 17 21:40 pip3.5
Run Code Online (Sandbox Code Playgroud)

在我的.bashrc文件中,我定义了:

 alias python2=/usr/bin/python2.7
 alias python=~/anaconda/bin/python3.5
Run Code Online (Sandbox Code Playgroud)

当我输入python2时:

$ python2
Python 2.7.10 (default, Oct 23 2015, 19:19:21) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 
Run Code Online (Sandbox Code Playgroud)

当我输入python时:

   $ python
    Python 3.5.2 …
Run Code Online (Sandbox Code Playgroud)

python pip

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