Pandas的使用(1)

解决M1 mac 安装python3.9.1后无法使用pandas和numpy的问题 新版本python已经原生支持M1芯片了大家都很开心,但是安装后发现pandas不能用了又很苦恼,本文则告诉大家如何通过miniforge工具解决问题 一、安装miniforge 下载地址: https://github.com/conda-forge/miniforge/#download 这里选择最新支持apple silicon的版本 二、安装 Safari默认下载路径为download,此时我们打开终端 cd Downloads bash Miniforge3-MacOSX-. 阅读详情

什么是Pandas?

Pandas的名称来自于面板数据(panel data)和Python数据分析(data analysis)。

Pandas是一个强大的分析结构化数据的工具集,基于NumPy构建,提供了 高级数据结构 和 数据操作工具,它是使Python成为强大而高效的数据分析环境的重要因素之一。

  • 一个强大的分析和操作大型结构化数据集所需的工具集
  • 基础是NumPy,提供了高性能矩阵的运算
  • 提供了大量能够快速便捷地处理数据的函数和方法
  • 应用于数据挖掘,数据分析
  • 提供数据清洗功能

Pandas的数据结构

Pandas有两个最主要也是最重要的数据结构: Series 和 DataFrame

Series

Series是一种类似于一维数组的 对象,由一组数据(各种NumPy数据类型)以及一组与之对应的索引(数据标签)组成。

类似一维数组的对象
由数据和索引组成

		索引(index)在左,数据(values)在右
		索引是自动创建的
  1. 通过list构建Series

     ser_obj = pd.Series(range(10))
    

示例代码:

import pandas as pd
# 通过list构建Series
ser_obj = pd.Series(range(10, 20))
print(ser_obj.head(3))

print(ser_obj)

print(type(ser_obj))

运行结果:

0    10
1    11
2    12
dtype: int64

0    10
1    11
2    12
3    13
4    14
5    15
6    16
7    17
8    18
9    19
dtype: int64

<class 'pandas.core.series.Series'>
  1. 获取数据和索引

     ser_obj.index 和 ser_obj.values
    

示例代码:

# 获取数据
print(ser_obj.values)

# 获取索引
print(ser_obj.index)

运行结果:

[10 11 12 13 14 15 16 17 18 19]
RangeIndex(start=0, stop=10, step=1)
  1. 通过索引获取数据

     ser_obj[idx]
    

示例代码:

#通过索引获取数据
print(ser_obj[0])
print(ser_obj[8])

运行结果:

10
18
  1. 索引与数据的对应关系不被运算结果影响
    示例代码:
# 索引与数据的对应关系不被运算结果影响
print(ser_obj * 2)
print(ser_obj > 15)

运行结果:

0    20
1    22
2    24
3    26
4    28
5    30
6    32
7    34
8    36
9    38
dtype: int64

0    False
1    False
2    False
3    False
4    False
5    False
6     True
7     True
8     True
9     True
dtype: bool
  1. 通过dict构建Series
    示例代码:
# 通过dict构建Series
year_data = {2001: 17.8, 2002: 20.1, 2003: 16.5}
ser_obj2 = pd.Series(year_data)
print(ser_obj2.head(3))
print(ser_obj2.index)

运行结果:

2001    17.8
2002    20.1
2003    16.5
dtype: float64
Int64Index([2001, 2002, 2003], dtype='int64')

DataFrame

DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同类型的值。DataFrame既有行索引也有列索引,它可以被看做是由Series组成的字典(共用同一个索引),数据是以二维结构存放的。

  • 类似多维数组/表格数据 (如,excel, R中的data.frame)
  • 每列数据可以是不同的类型
  • 索引包括列索引和行索引
  1. 通过ndarray构建DataFrame
    示例代码:
import numpy as np
import pandas as pd
# 通过ndarray构建DataFrame
array = np.random.randn(5,4)
print(array)

df_obj = pd.DataFrame(array)
print(df_obj.head())

运行结果:

[[ 0.83500594 -1.49290138 -0.53120106 -0.11313932]
 [ 0.64629762 -0.36779941  0.08011084  0.60080495]
 [-1.23458522  0.33409674 -0.58778195 -0.73610573]
 [-1.47651414  0.99400187  0.21001995 -0.90515656]
 [ 0.56669419  1.38238348 -0.49099007  1.94484598]]

          0         1         2         3
0  0.835006 -1.492901 -0.531201 -0.113139
1  0.646298 -0.367799  0.080111  0.600805
2 -1.234585  0.334097 -0.587782 -0.736106
3 -1.476514  0.994002  0.210020 -0.905157
4  0.566694  1.382383 -0.490990  1.944846
  1. 通过dict构建DataFrame
    示例代码:
# 通过dict构建DataFrame
dict_data = {'A': 1, 
             'B': pd.Timestamp('20170426'),
             'C': pd.Series(1, index=list(range(4)),dtype='float32'),
             'D': np.array([3] * 4,dtype='int32'),
             'E': ["Python","Java","C++","C"],
             'F': 'ITCast' }
#print dict_data
df_obj2 = pd.DataFrame(dict_data)
print(df_obj2)

运行结果:

   A          B    C  D       E       F
0  1 2017-04-26  1.0  3  Python  ITCast
1  1 2017-04-26  1.0  3    Java  ITCast
2  1 2017-04-26  1.0  3     C++  ITCast
3  1 2017-04-26  1.0  3       C  ITCast
  1. 通过列索引获取列数据(Series类型)
    df_obj[col_idx] 或 df_obj.col_idx

示例代码:

# 通过列索引获取列数据
print(df_obj2['A'])
print(type(df_obj2['A']))

print(df_obj2.A)

运行结果:

0    1.0
1    1.0
2    1.0
3    1.0
Name: A, dtype: int64
<class 'pandas.core.series.Series'>
0    1.0
1    1.0
2    1.0
3    1.0
Name: A, dtype: int64
  1. 增加列数据
    df_obj[new_col_idx] = data

类似Python的 dict添加key-value

示例代码:

# 增加列
df_obj2['G'] = df_obj2['D'] + 4
print(df_obj2.head())

运行结果:

     A          B    C  D       E       F  G
0  1.0 2017-01-02  1.0  3  Python  ITCast  7
1  1.0 2017-01-02  1.0  3    Java  ITCast  7
2  1.0 2017-01-02  1.0  3     C++  ITCast  7
3  1.0 2017-01-02  1.0  3       C  ITCast  7
  1. 删除列
    del df_obj[col_idx]

示例代码:

# 删除列
del(df_obj2['G'] )
print(df_obj2.head())

运行结果:

     A          B    C  D       E       F
0  1.0 2017-01-02  1.0  3  Python  ITCast
1  1.0 2017-01-02  1.0  3    Java  ITCast
2  1.0 2017-01-02  1.0  3     C++  ITCast
3  1.0 2017-01-02  1.0  3       C  ITCast
M1 Mac 安装numpy和pandas M1 Mac 安装numpy和pandas M1 mac安装python3.9 arm64版之后,通过pip3安装numpy、pandas及matplotlib等包时,会出现错误。原因有很多文章可以参考不再赘述。下面介绍一种可以成功安装这些包的方法。 首先安装miniforge,他可以理解成是默认使用conda forge这个channel的miniconda,由github上一个团队负责维护,有点是包版本较新,最大的优点是支持arm mac! https://github.com/conda-forge 阅读详情

相关推荐

Pandas-使用 Pandas 1.3 的新字符串数据类型节省内存

使用 Arrow 时,每个字符串只有 4 个字节的开销,而普通字符串列的开销为 49 个字节。请注意,对于每个 18 个字符的字符串,如果用 ASCII 或 UTF-8 编码表示,只需要 18 个字节,但 Python 的表示方式却有 49 个字节的开销。当 Python 存储字符串时,它会存储相当多的元数据:首先是 Python 对象本身的开销,然后是有关字符串的一堆元数据,最后才是字符串本身。在 Pandas 1.3 中,有一个新的选项可以通过更改列类型来节省大量字符串的内存。以下是我们的测试脚本;

liluo0815481的博客 898

人工智能科学计算库—Pandas教程

Pandas 是 Python 语言的一个扩展程序库,用于数据分析。​    Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。​   Pandas 名字衍生自术语 “panel data”(面板数据)和 “Python data analysis”(Python 数据分析)。​   Pandas 一个强大的分析结构化数据的工具集,基础是Numpy(提供高性能的矩阵运算)。

勇敢牛牛,不怕困难! 5379

1、Pandas的创建、读取与写入

在这个微课中,您将学习有关Pandas的所有知识,Pandas是用于数据分析的最流行的 Python 库。在这个过程中,您将使用真实世界的数据完成几个实践练习。我们建议您在阅读相应教程的同时进行练习。在本教程中,您将学习如何创建自己的数据,以及如何使用已经存在的数据。

AI算法蒋同学的博客 1117

import pandas 使用方法

对于数据科学家,无论是数据分析还是数据挖掘来说,Pandas是一个非常重要的Python包。它不仅提供了很多方法,使得数据处理非常简单,同时在数据处理速度上也做了很多优化,使得和Python内置方法相比时有了很大的优势。 导入数据 pd.read_csv(filename):从CSV文件导入数据 pd.read_table(filename):从限定分隔符的文本文件导入数据 pd...

一米阳光 3万+

【Python系列】macOS M1平台下pandas配置

【代码】【Python系列】macOS M1平台下pandas配置。

优快云明星博主,认证博客专家,视频、Matlab领域优质创作者。 546

XS5018A TX ISP芯片同轴高清模拟输出图像处理芯片用户指南

当看门狗开启且系统异常,看门狗模块得不到喂狗信号时,自动产生看门狗复位信号,复位​​​​​​​。分量上与人眼对光谱的响应通常是有偏差的,通常通过一个色彩校正矩阵校正光谱响应的交叉效。但实际上由于电路的作用,复位模块对整个芯片及各个功能模块的复位进行统一管理,负责产生各个模块的软复位信。每个区域前景色可以在 16 个色表中查找,单个区域的前景色统一,各个区域的前。较弱的坏点被放大成刺眼的白点和明显的黑点,强烈推荐开启动态坏点校正功能。四种制式,通过寄存器配置,可以很方便的实现四种制式的切换、且可以对截止。

2403_88922712的博客 1959

numpy pandas基础知识笔记7.pandas选择数据

选择指定某一列的数据 例: import pandas as pd import numpy as np dates = pd.date_range('20210101',periods=6) df = pd.DataFrame(np.random.randn(6,4),index = dates,columns = ['a','b','c','d']) print(df['a']) 输出: 2021-01-01 -0.415802 2021-01-02 0.490348 2021-01-...

qq_42038061的博客 749

电镀技术:微型制造的原子级加法工艺与核心优势

电镀是一种利用电解原理在基材表面沉积金属层的表面处理技术,其本质是通过电场控制溶液中金属离子的迁移与还原,实现原子级的可控沉积。这一过程的核心在于对电流密度、温度、添加剂等参数的精密调控,从而实现对镀层结晶结构、性能的“编程”。从技术价值看,电镀作为一种“加法制造”工艺,在微观尺度上具有无与伦比的保形性和材料灵活性,能够实现复杂三维结构的均匀覆盖与功能复合。在应用场景上,它尤其契合现代微型化制造的需求,例如在集成电路的铜互连填充、高密度PCB板微孔金属化、MEMS传感器电极制备以及柔性电子器件制造中发挥着不

weixin_42524842的博客 527

使用Pandas进行数据分析

介绍 通过分析电信运营商的客户离网率数据集来熟悉Pandas数据分析,并构建一个预测客户离网率的简单模型 #导入必要的包 import numpy as np import pandas as pd import warnings warnings.filterwarnings('ignore') #读取数据 df = pd.read_csv( 'https://labfile.oss.aliyuncs.com/courses/1283/telecom_churn.csv') df.head()

zhanlang619的博客 7849

车机破解避坑指南:为什么你的CarPlay盒子不识别?从USB设备ID解析兼容性问题

本文深入解析车机USB设备兼容性问题,特别是CarPlay盒子不识别的原因,从硬件ID到识别机制全面剖析。通过ADB工具和root权限操作,提供详细的破解方案和兼容性测试结果,帮助用户解决车机与第三方设备的连接问题。

weixin_29175469的博客 602

UE5 VlcMedia 插件编译与流媒体播放实战

本文详细介绍了在虚幻引擎5中编译并集成VlcMedia插件以解决流媒体播放难题的实战指南。针对UE5不再默认支持Win32 API导致的编译错误,文章提供了核心的构建配置文件修改步骤,并指导如何启用插件、创建VLC媒体播放器,最终成功播放如.m3u8等格式的网络直播流或点播视频。

weixin_29013129的博客 338

数据分析工具Pandas(1):Pandas的数据结构

Pandas Pandas的名称来自于面板数据(panel data)和Python数据分析(data analysis)。 Pandas是一个强大的分析结构化数据的工具集,基于NumPy构建,提供了高级数据结构和数据操作工具,它是使Python成为强大而高效的数据分析环境的重要因素之一。 一个强大的分析和操作大型结构化数据集所需的工具集 基础是NumPy,提供了...

DrugOne 1962

保姆级教程:在Zynq UltraScale+ EV系列FPGA上,用VCU IP核搞定4K60帧H265视频解码与HDMI2.0输出

本文提供在Zynq UltraScale+ EV系列FPGA上使用VCU IP核实现4K60帧H265视频解码与HDMI2.0输出的全流程指南。从开发环境准备、Vivado工程配置到PetaLinux系统定制,详细解析硬件选型、IP核参数设置及性能优化技巧,帮助开发者快速构建高效视频处理系统。

weixin_30800987的博客 432

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镜像

追风筝的人的专栏 2051

UE5实战:用Cesium插件打造逼真湖泊效果(附波纹参数调优技巧)

本文详细介绍了在Unreal Engine 5中利用Cesium插件创建逼真区域水效果(如湖泊)的实战流程。重点解析了通过材质层混合机制,精细调整波纹参数(如DistanceScale、NearScale)来模拟不同水体状态,并提供了从资产创建、地形配置到视觉调优的一站式解决方案,帮助开发者高效实现非海洋水域的动态视觉效果。

weixin_29209805的博客 160

【Python办公】剪贴板记录工具(记录文本 + 图片防重复)

本文介绍了一个用Python开发的剪贴板记录工具,能够自动记录复制过的文本和图片内容。该工具使用tkinter构建GUI界面,通过后台线程实时监控剪贴板变化,具有文本记录、图片保存(自动去重)功能。核心代码采用pyperclip访问剪贴板,PIL处理图片,hashlib计算图片哈希值实现去重。运行程序后,文本内容直接显示在界面,图片保存为PNG文件并记录路径。工具还提供清空历史记录功能,适合日常办公中需要追踪剪贴板历史的使用场景。

weixin_42636075的博客 237

M1 MacBook无法使用pip安装pandas的报错问题

使用 pip install pandas==1.1.5会报错: WARNING: Discarding https://files.pythonhosted.org/packages/fb/e4/828bb9c2474ff6016e5ce96a78220d485436d5468c23068f4f6c2eb9cff8/pandas-1.1.5.tar.gz#sha256=f10fc41ee3c75a474d3bdf68d396f10782d013d7f67db99c0efbfd0acb99701b (f

梦想仗剑走天涯 1526

【文献阅读】使用深度语音后验改进独立于说话者的构音障碍可懂度分类

原文名称:本文探讨了利用DeepSpeech后验概率改进说话人无关的构音障碍可理解性分类方法。作者提出了一个基于DeepSpeech(一种端到端的语音转文本引擎)输出的新特征集,用于评估构音障碍患者的语音可理解性。这些新特征在说话人无关的情况下表现良好,能够更好地处理不同说话人的变异性。背景介绍:数据集:特征提取:实验设置:结果:本文提出的新特征集在说话人无关的构音障碍可理解性分类任务中表现出色,特别是在低可理解性和高可理解性类别上。未来的工作将集中在减少低可理解性和中可理解性类别之间的混淆,以进一步提高系

帅小柏的博客 452

MacBook M1安装Numpy,Pandas,Matplotlib

MacBook M1安装Numpy,Pandas我的环境安装遇到的问题常见的安装方法总结简单粗暴,直接安装,亲测高效 我的环境 MacBook M1 + Python3.9 + Pycharm 2021 安装遇到的问题 当我们尝试使用 pip3 install numpy 或者 pip3 install pandas 时,它会显示以下的错误 错误 ① Defaulting to user installation because normal site-packages is not writeable

半吊子Kyle的博客 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

pandas 如何从1开始索引

 data_df = pd.DataFrame({'a':a,},index=list(range(1,n)))index 中使用 range 就可以重1开始排列

ck07 1万+

关于pandas_profiling和pandas1.4.1版本不匹配的问题

本来想试着分析下数据,结果疯狂报错(晚上做梦都是这个该死的错误) 下面是出错的代码,其中data1是一个pandas里面的dataframe pfr = ppf.ProfileReport(data1) pfr.to_file("report.html") w_median = (data[weights == np.max(weights)])[0] IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxi

weixin_49895102的博客 1929

Pandas 2.1发布了

在这次更新中提到了Pandas3.0,说明官方已经开始对它进行设计了,而且也强调了PyArrow的重要性,所以要用好Pandas,PyArrow的基础是需要掌握的。

deephub 4738

Mac M1芯片安装 Numpy Pandas

本文教你如何简单的在M1芯片的MacBook上安装Numpy和Pandas

guo_zhen_qian的专栏 3895

使用Pandas 1.1.0进行稳健的2个DataFrames验证

Pandas is one of the most used Python library for both data scientist and data engineers. Today, I want to share some Python tips to help us do qualification checks between 2 Dataframes. Pandas是数据科学家和...

weixin_26713521的博客 362

从0到1带你玩转pandas

从0到1带你玩转pandas

weixin_47552266的博客 1766

Pandas 使用小技巧 No 1

对于动辄就几十或几百个 G 的数据,在读取的这么大数据的时候,我们有没有办法随机选取一小部分数据,然后读入内存,快速了解数据和开展 EDA ?使用 Pa...

大邓和他的Python 240
上一篇: Numpy-ndarray(3)
下一篇: Pandas的高级索引
穷图陌�
博客等级 码龄8年 1粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值