Windows下PythonQt3.2使用pandas.pivot_table
本机环境
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的更多相关文章
- windows下数据挖掘相关包numpy、pandas的安装
安装Anaconda的绕道 这里介绍如何在windows下安装numpy/scipy/matplotlib/pandas/scikit_learn等数据分析相关包 相关环境: win7 64位 pyt ...
- windows下如何安装Python、pandas
windows下如何安装Python.pandas 本篇主要涵盖以下三部分内容: Python.Pycharm的安装 使用Pycharm创建.运行Python程序 安装pandas 1.Python. ...
- 【转】linux和windows下安装python集成开发环境及其python包
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- 在windows下python,pip,numpy,scipy,matplotlib的安装
系统:win7(64bit) 如果只需要安装python,执行步骤一就可以了,不用管后面.如果还需要其它的库,则只需要执行第二步,第一步可省略(因为在安装anaconda的时间,python就自动装好 ...
- Windows下python的配置
Windows下python的配置 希望这是最后一次写关于python的配置博客了,已经被python的安装烦的不行了.一开始我希望安装python.手动配置pip并使用pip安装numpy,然而发现 ...
- windows下用pycharm安装tensorflow简易教程
https://blog.csdn.net/heros_never_die/article/details/79760616 最近开始学习深度学习的相关知识,准备实战一下,看了一些关于tensorfl ...
- [转]Windows下Python多版本共存
https://blog.csdn.net/dream_an/article/details/51248736 Windows下Python多版本共存 Python数据科学安装Numby,pandas ...
- windows下python环境安装
虽然是windows下安装的方式,但是linux也差不多哈: 1,首先安装python 这个是菜鸟教程的安装介绍页面,其实很清晰了:http://www.runoob.com/python3/pyth ...
- Windows下搭建Python虚拟环境
一.安装使用 virtualenv 1. 安装 virtualenv pip install virtualenv 2. 新建虚拟环境 virtualenv env1 用 Python3 创建虚拟环境 ...
随机推荐
- django无法同步mysql数据库 Error:1064
[问题] 具体问题:新建django工程,使用django的manage.py的 migrate命令进行更改. 在初始化数据库表时,失败,错误信息为 django.db.migrations.exce ...
- 阅读 video in to axi4-stream v4.0 笔记
阅读 video in to axi4-stream v4.0 笔记 axi4 stream里面只传输的有效数据. 引用: 使能了video timing controller core 的所用信号, ...
- 双心一键获取winsxs的写入权限,解决VC运行库安装error1935错误
@Echo offtitle 双心一键获取winsxs的写入权限,解决VC运行库安装error1935等错误set path=%path%;%~dp0setlocal EnableDelayedExp ...
- NFC应用于公交卡
NFC应用于公交卡https://www.cnblogs.com/liuzhaoyzz/p/7115098.html 带有NFC功能的安卓手机可以给实体公交卡充值,手机虚拟公交卡现在有两种方案,一种是 ...
- centos下vi的用法大全
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...
- 常用JVM命令
查看当前所有jvm进程 ./jps -l -m ./jps -l -m -v 查看jvm进程内存堆使用情况 ./jstat -gc $pid 生成java虚拟机当前时刻的线程快照 jstack -l ...
- 读书笔记——《redis入门指南(第2版)》第四章 进阶——4.1-5
.1事务 redis中事务是一组命令的集合. 事务同命令一样都是redis的最小执行单位,Redis保证一个事务中的命令要么都执行,要么都不执行.如果redisClient在发送EXEC命令前掉线,则 ...
- Percona XtraDB Cluster Strict Mode(PXC 5.7)
在Percona XtraDB Cluster集群架构中,为了避免多主节点导致的数据异常,或者说一些不被支持的特性引发的数据不一致的情形,PXC集群可以通过配置pxc_strict_mode这个变量来 ...
- C#委托防止事件多次注册
示例代码如下: class NodeInf { public delegate void mydelegate(ProcessContent processContent); private myde ...
- shell脚本(一)
shell脚本(一) 定义:脚本就是一条条命令的堆积.常见脚本有:js asp,jsp,php,python Shell特点:简单易用高效 Shell分类:图形界面(gui shell) 命令行界面 ...