本机环境

  1、win7 64 旗舰版

  2、Qt 5.9.1(MSVC 2015,32 bit)

  3、Python 3.7.1 (32-bit),二进制包安装的,即Windows x86 executable installer

  4、PythonQt 3.2 使用上面的环境,源码编译

  5、2018年10月26日

前叙

  1、为什么没有全部使用vs2015编译python。就是官方建议的pythonQt和python的编译器保持一致,实际编译中python的库编译成功了,但应该是环境问题,和官方的安装包比不是很一样。并且vs2015只能支持编译Python3.6及以下版本。

  2、为什么没有使用Anaconda进行管理。本文中使用pandas包,先前打算使用Pythoner都说pip怎么怎么麻烦,推荐的Anaconda进行包的管理,经过摸索发现,Anaconda里面包含了Python,根本不需要先安装Python,Anaconda都会内置一个Python(这个python才拥有各种包的环境),并且Anaconda不是每个python都有一个版本的。

Anaconda3-5.3.0-Windows-x86——内置python-3.7.0
Anaconda3-5.2.0-Windows-x86——内置python-3.6.5

我在编译PythonQt3.2时,设置了Anaconda中python库的位置,编译完全没有问题,但运行实例时,报错(具体错误忘记),但是使用对应版本的Python二进制安装包安装,然后编译PythonQt3.2运行实例,则正常,也就是说PythonQt3.2无法使用Anaconda提供的python库。——有解决方法,欢迎各位指正

安装pandas

  通过参考资料,因为国内被墙,pip使用国内镜像源,安装pandas,还好pip会自己安装pandas依赖的包。CMD中运行:

pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple

此时配置Pycharm,可以看到已安装的包,其实也可以从pycharm中安装包,就是下图右侧稍微偏上的+ - 号那里

测试代码:

  要注意PythonQt3.2中import pandas会报没有模块,但是在cmd中可以。根据参考资料,包含路径即可解决,本人也尝试将这个路径加入环境变量Path,但不好用。怎么查看三方包site-packages的目录,见下图:

  

  

源码:

from PythonQt.QtGui import *
import sys
# To use site-packages
sys.path.append('C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37-32\\Lib\\site-packages') from collections import OrderedDict
from pandas import DataFrame
import pandas as pd
import numpy as np
import datetime
df = pd.DataFrame({'A': ['one', 'one', 'two', 'three'] * ,
'B': ['A', 'B', 'C'] * ,
'C': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * ,
'D': ['甲', '乙', '丙'] * ,
'E': [datetime.datetime(, i, ) for i in range(, )] +
[datetime.datetime(, i, ) for i in range(, )]})
print(df)
p = pd.pivot_table(df,index=['A', 'B'], columns=['C','D'],aggfunc='count',fill_value='',margins=True)
print(p)

运行结果:

        A  B    C  D          E
one A foo 甲 --
one B foo 乙 --
two C foo 丙 --
three A bar 甲 --
one B bar 乙 --
one C bar 丙 --
two A foo 甲 --
three B foo 乙 --
one C foo 丙 --
one A bar 甲 --
two B bar 乙 --
three C bar 丙 --
one A foo 甲 --
one B foo 乙 --
two C foo 丙 --
three A bar 甲 --
one B bar 乙 --
one C bar 丙 --
two A foo 甲 --
three B foo 乙 --
one C foo 丙 --
one A bar 甲 --
two B bar 乙 --
three C bar 丙 --
E
C bar foo All
D 丙 乙 甲 丙 乙 甲
A B
one A
B
C
three A
B
C
two A
B
C
All

后记:

  PythonQt3.2中import pandas报没有模块,但是在cmd中可以,模块路径也在path中。是因为PythonQt初始化时

修改
PythonQt::init(PythonQt::IgnoreSiteModule | PythonQt::RedirectStdOut);
====>
PythonQt::init( PythonQt::RedirectStdOut);

参考资料

更换pip源到国内镜像 https://blog.csdn.net/chenghuikai/article/details/55258957

在Qt(C++)中与Python混合编程 https://www.cnblogs.com/xia-weiwen/p/7932379.html

Pycharm和Anaconda中如何安装package https://blog.csdn.net/chaowanghn/article/details/54017331

Windows下PythonQt3.2使用pandas.pivot_table的更多相关文章

  1. windows下数据挖掘相关包numpy、pandas的安装

    安装Anaconda的绕道 这里介绍如何在windows下安装numpy/scipy/matplotlib/pandas/scikit_learn等数据分析相关包 相关环境: win7 64位 pyt ...

  2. windows下如何安装Python、pandas

    windows下如何安装Python.pandas 本篇主要涵盖以下三部分内容: Python.Pycharm的安装 使用Pycharm创建.运行Python程序 安装pandas 1.Python. ...

  3. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  4. 在windows下python,pip,numpy,scipy,matplotlib的安装

    系统:win7(64bit) 如果只需要安装python,执行步骤一就可以了,不用管后面.如果还需要其它的库,则只需要执行第二步,第一步可省略(因为在安装anaconda的时间,python就自动装好 ...

  5. Windows下python的配置

    Windows下python的配置 希望这是最后一次写关于python的配置博客了,已经被python的安装烦的不行了.一开始我希望安装python.手动配置pip并使用pip安装numpy,然而发现 ...

  6. windows下用pycharm安装tensorflow简易教程

    https://blog.csdn.net/heros_never_die/article/details/79760616 最近开始学习深度学习的相关知识,准备实战一下,看了一些关于tensorfl ...

  7. [转]Windows下Python多版本共存

    https://blog.csdn.net/dream_an/article/details/51248736 Windows下Python多版本共存 Python数据科学安装Numby,pandas ...

  8. windows下python环境安装

    虽然是windows下安装的方式,但是linux也差不多哈: 1,首先安装python 这个是菜鸟教程的安装介绍页面,其实很清晰了:http://www.runoob.com/python3/pyth ...

  9. Windows下搭建Python虚拟环境

    一.安装使用 virtualenv 1. 安装 virtualenv pip install virtualenv 2. 新建虚拟环境 virtualenv env1 用 Python3 创建虚拟环境 ...

随机推荐

  1. Syncthing – 数据同步利器---自己的网盘,详细安装配置指南,内网使用,发现服务器配置

    简介: 无论办公.文件共享.团队协作还是家庭照片.视频.音乐.高清电影的存储,我们常常都有文件同步和存储的需求.但随着国内各大网盘的花式阵亡或限速,早已没什么好选择了.好吧,我已经转战使用onedri ...

  2. Innodb中MySQL如何快速删除2T的大表

    转自:http://database.51cto.com/art/201808/582324.htm OK,这里就说了.假设,你有一个表erp,如果你直接进行下面的命令: drop table erp ...

  3. spingMVC+mybatis+spring-session共享内存配置

    1. redis依赖: <dependency> <groupId>org.springframework.session</groupId> <artifa ...

  4. minIni: A minimal INI file parser

    https://www.compuphase.com/minini.htm https://github.com/compuphase/minIni

  5. 刘志梅 201771010115 《面向对象程序设计(java)》 第七周学习总结

    实验七 继承附加实验 实验时间 2018-10-11 1.实验目的与要求 (1)进一步理解4个成员访问权限修饰符的用途: 即将类中的域标记为private,而方法标记为public.任何声明为priv ...

  6. 查看Linux内置命令和外部命令

    1. [hl@localhost ~]$ which cd /bin/cd [hl@localhost ~]$ type cd cd is a shell builtin

  7. 用java打印图形

    代码如下 public static void main(String[] args) { for (int i = 0; i <7; i++) { for (int j = 0; j < ...

  8. 模拟实现简单ATM功能

  9. python-web自动化环境安装

    web自动化环境安装 1.安装selenium 命令行使用以下命令安装selenium:pip install -U selenium 2.安装chrome浏览器 3.chromedriver的下载  ...

  10. Java并发编程三个性质:原子性、可见性、有序性

      并发编程 并发程序要正确地执行,必须要保证其具备原子性.可见性以及有序性:只要有一个没有被保证,就有可能会导致程序运行不正确  线程不安全在编译.测试甚至上线使用时,并不一定能发现,因为受到当时的 ...