Python基础之教你怎么在M1系统上使用pandas
一、问题
目前为止,M1系统上还不能使用pip3
安装pandas
库,无法使用pandas
进行数据分析和处理。虽然网上也有专门适配M1的python环境,但实施起来也比较麻烦,不够纯粹。
那在M1上,如何使用pandas
?
二、方案
docker
新版本已经支持M1了,我们不妨尝试一下,是否可以用vscode+docker
使用pandas
。
1.安装M1版本的docker
访问https://docs.docker.com/docker-for-mac/install/
,下载M1版本的docker。
2.安装python镜像
- 查找python镜像,
sudo docker search python
- 运行python镜像:
sudo docker pull python
- 执行python镜像
# 使用命令,主要可以共享宿主机目录,文件直接存在宿主机上,避免文件丢失 docker run --name=python-dev -it -v /data:/data python:latest /bin/bash
这样执行过一次,后续就可以通过docker的界面启动python容器了。
备注:可以直接通过docker界面来执行容器,设置共享路径参数:
进入docker后,可以直接使用
pip3 install pandas pip3 list pandas | grep pandas pip3 list | grep pandas pandas 1.2.4
python的docker效果图:
3.vscode开发环境
安装vscode(略)
安装python插件(略)
安装docker插件(略)
4.docker上开发
cmd+shift+p
,选择python镜像的docker上。
运行效果如下:
总结
上述M1上的python镜像,还可以安装jupyter
,在vscode同样可以启动jupyter
。直接可以操作pandas
。
随着越来越多的软件适配了M1,M1不再是只适合娱乐的机器了。enjoy!!!
到此这篇关于Python基础之教你怎么在M1系统上使用pandas的文章就介绍到这了,更多相关在M1系统上使用pandas内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
浅谈Pandas dataframe数据处理方法的速度比较
数据修改主要以增删改差为主,这里比较几种写法在数据处理时间上的巨大差别. 数据量大概是500万行级别的数据,文件大小为100M. 1.iloc iloc是一种速度极其慢的写法.这里我们对每个csv文件中的每一行循环再用iloc处理,示例代码如下: for index in range(len(df)): df.iloc['attr'][index] = xxx 使用这种方法对五百万行的数据进行处理大概需要5个小时,实在是很慢. 2.at at相比于iloc有了很大的性能提升,也是for循环处理,
-
pandas中.loc和.iloc以及.at和.iat的区别说明
显示索引和隐式索引 import pandas as pd df = pd.DataFrame({'姓名':['张三','李四','王五'],'成绩':[85,59,76]}) 传入冒号':',表示所有行或者列 显示索引:.loc,第一个参数为 index切片,第二个为 columns列名 df.loc[2] #index为2的记录,这里是王五的成绩. df.loc[:,'姓名'] #第一个参数为冒号,表示所有行,这里是筛选姓名这列记录. 隐式索引:.iloc(integer_location)
-
python-pandas创建Series数据类型的操作
1.什么是pandas 2.查看pandas版本信息 print(pd.__version__) 输出: 0.24.1 3.常见数据类型 常见的数据类型: - 一维: Series - 二维: DataFrame - 三维: Panel - - 四维: Panel4D - - N维: PanelND - 4.pandas创建Series数据类型对象 1). 通过列表创建Series对象 array = ["粉条", "粉丝", "粉带"] # 如
-
pandas快速处理Excel,替换Nan,转字典的操作
pandas读取Excel import pandas as pd # 参数1:文件路径,参数2:sheet名 pf = pd.read_excel(path, sheet_name='sheet1') 删除指定列 # 通过列名删除指定列 pf.drop(['序号', '替代', '签名'], axis=1, inplace=True) 替换列名 # 旧列名 新列名对照 columns_map = { '列名1': 'newname_1', '列名2': 'newname_2', '列名3':
-
Python数据分析之pandas函数详解
一.apply和applymap 1. 可直接使用NumPy的函数 示例代码: # Numpy ufunc 函数 df = pd.DataFrame(np.random.randn(5,4) - 1) print(df) print(np.abs(df)) 运行结果: 0 1 2 3 0 -0.062413 0.844813 -1.853721 -1.980717 1 -0.539628 -1.975173 -0.856597 -2.612406
-
Python基础之pandas数据合并
一.concat concat函数是在pandas底下的方法,可以将数据根据不同的轴作简单的融合 pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False) axis: 需要合并链接的轴,0是行,1是列join:连接的方式 inner,或者outer 二.相同字段的表首尾相接 #现将表构成l
-
详细介绍在pandas中创建category类型数据的几种方法
在pandas中创建category类型数据的几种方法之详细攻略 T1.直接创建 category类型数据 可知,在category类型数据中,每一个元素的值要么是预设好的类型中的某一个,要么是空值(np.nan). T2.利用分箱机制(结合max.mean.min实现二分类)动态添加 category类型数据 输出结果 [NaN, 'medium', 'medium', 'fat'] Categories (2, object): ['medium', 'fat'] name ID
-
python中pandas.read_csv()函数的深入讲解
这里将更新最新的最全面的read_csv()函数功能以及参数介绍,参考资料来源于官网. pandas库简介 官方网站里详细说明了pandas库的安装以及使用方法,在这里获取最新的pandas库信息,不过官网仅支持英文. pandas是一个Python包,并且它提供快速,灵活和富有表现力的数据结构.这样当我们处理"关系"或"标记"的数据(一维和二维数据结构)时既容易又直观. pandas是我们运用Python进行实际.真实数据分析的基础,同时它是建立在NumPy之上的
-
python基于Pandas读写MySQL数据库
要实现 pandas 对 mysql 的读写需要三个库 pandas sqlalchemy pymysql 可能有的同学会问,单独用 pymysql 或 sqlalchemy 来读写数据库不香么,为什么要同时用三个库?主要是使用场景不同,个人觉得就大数据处理而言,用 pandas 读写数据库更加便捷. 1.read_sql_query 读取 mysql read_sql_query 或 read_sql 方法传入参数均为 sql 语句,读取数据库后,返回内容是 dateframe 对象.普及一下
-
pandas读取excel时获取读取进度的实现
写在前面 QQ群里偶然看到群友问这个问题, pandas读取大文件时怎么才能获取进度? 我第一反应是: 除非pandas的read_excel等函数提供了回调函数的接口, 否则应该没办法做到. 搜索了一下官方文档和网上的帖子, 果然是没有现成的方案, 只能自己动手. 准备工作 确定方案 一开始我就确认了实现方案, 那就是增加回调函数. 这里现学现卖科普一下什么是回调函数. 简单的说就是: 所使用的模块里面, 会调用一个你给定的外部方法/函数, 就是回调函数. 拿本次的尝试作为例子, 我会编写一个
-
解决使用pandas聚类时的小坑
问题背景: 之前运行测试好好的程序,忽然出现了报错,还是merge时候的类型错误,这个bug有点蹊跷. 问题分析: 代码:进行聚类之后计算平均值与方差 tmp_df = df[['object1', 'float']].groupby(['object1']).head(20).groupby(['object1'])['float'].agg(['mean', 'sum']).reset_index() 这个输出的就是原本的数据类型:一个object,一个float64 tmp_df = ht
-
pandas 使用merge实现百倍加速的操作
对于非连续数据集,数据可视化时候需要每七天一个采样点.要求是选择此前最新的数据作为当日的数据展示,譬如今天是2019-06-18,而数据集里只有2019-06-15,那就用2019-06-15的数据作为2019-06-18的数据去描点. 每七天一个采样点,会使得每天展示所选的数据都会有所不同.当时间往后推移一天,日期为2019-06-19,那么最新数据点从2019-06-19开始,第二个就是2019-06-12.这里就需要一个算法来快速的根据当前日期去选出(填充)一系列数据供数据可视化之用. 一
-
pandas 颠倒列顺序的两种解决方案
在数据预处理过程中可能需要将列的顺序颠倒,有两种方法. import numpy as np import pandas as pd df = pd.DataFrame(np.array(range(20)).reshape(4,5)) print(df) 原始dataframe如下: 0 1 2 3 4 0 0 1 2 3 4 1 5 6 7 8 9 2 10 11 12 13 14 3 15 16 17 18 19 1. 方法一 手动设置列名列表,应用在dataframe中(适合列名比较少的
-
pandas调整列的顺序以及添加列的实现
在对excel的操作中,调整列的顺序以及添加一些列也是经常用到的,下面我们用pandas实现这一功能. 1.调整列的顺序 >>> df = pd.read_excel(r'D:/myExcel/1.xlsx') >>> df A B C D 0 bob 12 78 87 1 millor 15 92 21 >>> df.columns Index(['A', 'B', 'C', 'D'], dtype='object') # 这是最简单常用的一种方法,
随机推荐
- Angular2 (RC4) 路由与导航详解
- Bash脚本内置的调试方法技巧
- 深入理解vue路由的使用
- java web中的servlet3 upload上传文件实践
- IOS开发之路--C语言存储方式和作用域
- 正则表达式速查表(ASP.NET)
- PHP注释实例技巧
- 自定义min版smarty模板引擎MinSmarty.class.php文件及用法
- C# WinForm捕获未处理的异常实例解析
- Android 实现按两次返回键退出程序(两种方法)
- Android SlidingDrawer 抽屉效果的实现
- C++中抽象类和接口的区别介绍
- 分享Python文本生成二维码实例
- jQuery实现点击查看大图并以弹框的形式居中
- 详解如何让InstantClick兼容MathJax、百度统计等
- js chrome浏览器判断代码
- 详解Java利用ExecutorService实现同步执行大量线程
- Java实现把窗体隐藏到系统托盘方法
- 60华诞普天同庆 IDC假日促销目不暇接
- java 序列化与反序列化的实例详解