Pandas简单使用

python中shape[0]与shape[1] import numpy as np k = np.matrix([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) print(np.shape(k)) # 输出(3,4)表示矩阵为3行4列 print(k.shape[0]) # shape[0]输出3,为矩阵的行数 print(k.shape[1]) # 同理shape[1]输出列数 ... 阅读详情

Pandas简单使用

Pandas最核心的两个数据结构是一维的Series和二维的DataFrame

  • Series是带有标签的同构类型数组

  • DataFrame是一个二维的表结构

    在同构类型的数据中,一个DataFrame可以看作是由多个Series组成的。

数据读取和存储

Pandas是处理结构化数据非常重要的一个工具,其功能强大且好用。

Pandas可以从CSV、JSON、Text等格式文件中读取数据。

CSV文件的读取和存储

对CSV文件进行操作有两个接口(API),分别是read_csv和to_csv。

  1. read_csv

    read_csv()是用来读取CSV文件的接口,其具有丰富的参数,可以配置来满足实际的数据读取需要

    • filepath_or_buffer:配置所需读取CSV文件的路径
    • sep:配置CSV文件的列分隔符,默认是逗号“, ”
    • delimiter:可选配置,作为sep配置分隔符的别名
    • delim_whitespace:配置是否用空格来作为列分隔符。如果设置为True,那么sep配置参数就不起作用了。
    • header:配置用列数来作为列名,默认配置成自动推断。
    • names:配置列名,如果所读取的CSV文件没有表头,那么需要配置header=None,否则会将第一行数据作为对应的列名。
    • usecols:当只需要读取CSV文件中的部分数据时,可以使用usecols来指定读取列名以获取数据。
    • dtype:配置所读取数据的类型
    • encoding:配置文件的编码方式,一般使用UTF-8或者GBK
  2. to_csv

    to_csv()用于将数据保存到CSV文件中。其参数比较多,但只有第一个参数是必需的。

    1. path_or_buf:配置CSV文件的保存路径
    2. sep:配置保存文件的分隔符,默认是逗号“, ”
    3. na_rep:配置空值补全的值,默认用空格代替
    4. float_format:配置将浮点数格式化成字符串类型
    5. columns:配置需要写入列的列名,如果不配置,则默认从第1列开始写入
    6. header:配置是否写入列名,默认是需要写的
    7. index:配置是否写入行名,默认是需要写的
    8. index_label:配置用来作为列索引的列,默认是没有的
    9. mode:配置写入模式,默认是W
    10. encoding:配置编码格式,该配置只针对Python 3以前的版本
    11. line_terminator:配置每行的结束符,默认使用“\n”
    12. quotin:配置CSV的引用规则
    13. quotechar:配置用来作为引用的字符,默认是空格
    14. chunksize:配置每次写入的行数
    15. tuplesize_cols:配置写入list的格式,默认以元组的方式写入
    16. date_format:配置时间数据的格式
JSON文件的读取和存储

对JOSN文件进行操作有两个API,分别是read_json和to_json

  1. read_json()

    read_json()是用于读取JSON文件或者返回JSON数据的接口,需要用到的配置参数如下

    1. filepath_or_buffer:配置有效的JSON字符串、JSON文件的路径或者数据接口。数据接口可以是一个URL地址。
    2. type:配置将读取的数据生成Series还是DataFrame,默认是DataFrame
  2. to_json()

    to_json()用于将数据保存为JSON格式。需要用到的配置参数如下:

    1. path_or_buf:配置JSON数据保存的路径或者写入的内存区域
    2. date_format:配置时间数据的格式,epoch表示配置成时间戳的格式,iso表示配置成ISO 8601的格式
    3. double_precision:配置小数点后保留的位数,默认是10位
    4. force_ascii:配置是否强制将String转码成ASCII,默认强制进行转码
    5. date_unit:配置时间数据的格式,可以实现精确到秒级或毫秒级
数据查看和选取

Pandas的数据对象有Series、DataFrame和Panel,常用的数据类型是一维的Series和二维的DataFrame。DataFrame拥有非常丰富的API,能够满足对数据选取和处理的需求。

查看数据
  1. df.shape

    df.shape用于查看数据的维度。由于DataFrame是二维的,因此df.shape的返回值包含两个元素,df.shape[0]返回的是行数,df.shape[1]返回的是列数。

    import pandas as pd 
    dict={'cpu':'8c', 'memory':'64G'} 
    df=pd.DataFrame(dict, index=[0])
    print(df)
    print(df.shape[0]) 
    print(df.shape[1]) 
    
    ######
      cpu memory
    0  8c    64G
    1
    2
    
  2. df.head()

    df.head()默认返回DataFrame数据的前5行,如果需要查看更多的行数,则只要传参进去即可。df.tail()默认返回数据的后5行,想要查看更多的数据同样可以传参进去。

    查看数据的汇总统计可以使用df.describe(),查看数据概况可以使用df.info。

    import pandas as pd 
    dict=[{'cpu':'8c', 'memory':'64G'}, {'cpu':'12c', 'memory':'64G'}] 
    df=pd.DataFrame(dict, index=[0,1])
    print("--------------------")
    print(df.head(2)) #查看前两行数据 
    print("--------------------")
    print(df.tail(1)) #查看最后一行数据 
    print("--------------------")
    print(df.describe()) #查看数据的汇总统计 
    print("--------------------")
    print(df.info()) #查看数据概况 
    
    ######
    --------------------
       cpu memory
    0   8c    64G
    0  12c    64G
    --------------------
       cpu memory
    0  12c    64G
    --------------------
           cpu memory
    count    2      2
    unique   2      1
    top     8c    64G
    freq     1      2
    --------------------
    <class 'pandas.core.frame.DataFrame'>
    Int64Index: 2 entries, 0 to 0
    Data columns (total 2 columns):
     #   Column  Non-Null Count  Dtype 
    ---  ------  --------------  ----- 
     0   cpu     2 non-null      object
     1   memory  2 non-null      object
    dtypes: object(2)
    memory usage: 48.0+ bytes
    None
    

    想要查看列名可以使用df.columns.values,查看各列的平均值可以直接用df.mean()。

    import pandas as pd 
    dict=[{'cpu':1000, 'memory':2000}, {'cpu':3000, 'memory':500}] 
    df=pd.DataFrame(dict, index=[0,1])
    print(df.columns.values)
    print(df.mean())
    
    #######
    ['cpu' 'memory']
    cpu       2000.0
    memory    1250.0
    dtype: float64
    
选取数据

在选取数据时,既可以使用列名来选取,也可以使用索引来选取。

如果要查看某列的数据,则可以用df[col_name]或者df.col_name,当查看多列时可以将多列的列名作为一个数组传参进去,如df[[col1, col2]]。

使用索引来选取数据,则要用到df.iloc。要注意 df.loc和df.iloc在使用上是有区别的,df.loc传递的是索引的名称,df.iloc传递的是索引的相对位置,常用的是df.iloc。

import pandas as pd 
dict=[{'cpu':'8c', 'memory':'64G'}, {'cpu':'12c', 'memory':'64G'}] 
df=pd.DataFrame(dict, index=[0,1])
print(df.iloc[1]) #iloc是取的索引的相对位置,即DataFrame的第二行元素 
print("---------------")
print(df.loc[0]) #loc是取的行索引的名称 
print("---------------")
print(df['memory']) #通过列名查看数据 
print("---------------")
print(df.cpu) #通过列名查看数据,使用的是“.”访问方式 

######
cpu       12c
memory    64G
Name: 1, dtype: object
---------------
cpu        8c
memory    64G
Name: 0, dtype: object
---------------
0    64G
1    64G
Name: memory, dtype: object
---------------
0     8c
1    12c
Name: cpu, dtype: object
数据处理

Pandas DataFrame提供了丰富的数据处理方法,为进行必要的数据操作和预处理提供了非常大的帮助

数据合并

在进行数据预处理时,需要进行必要的数据合并操作,将分散的数据或者部分数据整合到一起。

DataFrame提供了多个数据拼接的方法,使用pd.concat()可以直接放到数组中按行拼接,也可以使用pd.merge()按列拼接,或者使用df.append()增加某列数据

import pandas as pd 
dict=[{'cpu':'8c', 'memory':'64G'}, {'cpu':'12c', 'memory':'64G'}] 
df=pd.DataFrame(dict, index=[0,1])
print(df)
print("-----")
pie=[df, df] 
df2=pd.concat(pie) #按行拼接,也就是说,数据在行的方向上进行增加 
print(df2)
print("-----")
df3=pd.merge(df2, df, on='cpu')
#按列cpu进行拼接。发现会在拼接后的df3中增加一列,且列名变成了memory_x, memory_y 
print(df3)

######
   cpu memory
0   8c    64G
1  12c    64G
-----
   cpu memory
0   8c    64G
1  12c    64G
0   8c    64G
1  12c    64G
-----
   cpu memory_x memory_y
0   8c      64G      64G
1   8c      64G      64G
2  12c      64G      64G
3  12c      64G      64G
数据清理

在使用DataFrame进行数据处理时,如果数据质量不高,则需要清理一些空值或者进行空值补全。

可以使用df3.isnull()检查数据是否为空值,使用df3.isnull().sum()进行空值的统计。

如果需要对空值进行补全,则可以使用df3.fillna(n), n值就是替换空值的值。

如果想要去掉所有带有空值的数据,则可以使用df3.dropna()删除包含空值的行和列,默认删除包含空值的行。df3.dropna(axis=1)会删除包含空值的列

import pandas as pd 
dict=[{'cpu':'8c', 'memory':'64G'}, {'cpu':'12c', 'memory':'64G'},{'cpu':'16c', 'memory':None}] 
df=pd.DataFrame(dict, index=[0,1,2])
print(df)
print("-------------")
print(df.isnull())#判断df中为空值的元素,返回的是整个df的空值判断结果分布 
print("-------------")
print(df.isnull().sum())#统计df中空值元素的个数,返回的是按列统计结果 
print("-------------")
print(df.fillna('32G'))
#对df中的空值元素用32G进行空值补全。
#注意,这里的补全只是对返回结果的补全,对df中的原始空值并不改变,这个同样适用于df.dropna() 
print("-------------")
print(df) #可以看到df中的空值并没有改变 
print("-------------")
print(df.dropna()) 
print("-------------")
print(df.dropna(axis=1))

######
   cpu memory
0   8c    64G
1  12c    64G
2  16c   None
-------------
     cpu  memory
0  False   False
1  False   False
2  False    True
-------------
cpu       0
memory    1
dtype: int64
-------------
   cpu memory
0   8c    64G
1  12c    64G
2  16c    32G
-------------
   cpu memory
0   8c    64G
1  12c    64G
2  16c   None
-------------
   cpu memory
0   8c    64G
1  12c    64G
-------------
   cpu
0   8c
1  12c
2  16c
数据处理

在进行数据处理时,还会遇到诸如转换数据类型、统计唯一值的个数以及序列排序等需求。

DataFrame也提供了一些对应的操作方法供使用,比如,转换数据类型可以使用df.astype(),统计唯一值的个数可以使用df.columns.value_counts(),序列排序可以使用df.sort_values(by= colname, ascending=True)

import pandas as pd 
dict=[{'cpu':8, 'memory':'64G'}, {'cpu':12, 'memory':'64G'},{'cpu':16, 'memory':None}] 
df=pd.DataFrame(dict, index=[0,1,2])
print(df)
print("-------------")
print(df['cpu'].astype(float))
#对指定列进行数据类型转换,将cpu列的类型 
#从int转换为float。如df.fillna()一样,这个操作并不会改变df中的原始值 
#而是将df复制了一份进行相应的数据转换后返回 
print("-------------")
print(df["memory"].value_counts())
#对df["memory"]中的数据进行次数统计,返回统计结果 
# df.value_counts() 统计行出现得次数
print("-------------")
print(df.sort_values(by='cpu', ascending=False)) #按照cpu列的元素值大小 

######
   cpu memory
0    8    64G
1   12    64G
2   16   None
-------------
0     8.0
1    12.0
2    16.0
Name: cpu, dtype: float64
-------------
64G    2
Name: memory, dtype: int64
-------------
   cpu memory
2   16   None
1   12    64G
0    8    64G
【Pandas】pandas DataFrame shape `pandas.DataFrame.shape` 是一个属性,用于返回 DataFrame 的维度信息,即行数和列数。`shape` 属性返回一个包含两个整数的元组,第一个整数表示行数,第二个整数表示列数。 阅读详情

相关推荐

[python]pandas查看和选取数据

查看所有数据 print(df) 查看和选取数据常用函数 1.print(df.shape) # 查询数据有多少列和行,可以使用shape[0]来获取有多行 2. print(df.columns) # 顺序输出每一列的名字,可以用for循环直接获取每一项的名字 3.print(df.index) # 顺序输出每一行的名字,index索引值 4.print(df.dtypes) # 可以查询每一列数据是由什么数据类型组成 5.print(df.head(3)) # 查看前三行数据,如

weixin_48497576的博客 2163

[Pandas] 数据形状df.shape

Pandas 数据形状df.shape介绍

Hudas的博客 1万+

用pandas进行简单的数据预处理

首先看这样的数据。 这是kaggle上的关于员工离职的数据,现在要根据满意度,工作项目, 薪水等指标判断一个员工是否会离职。在进行机器学习之前,我们首先要进行数据的清理及预处理。 数据下载 https://github.com/ardendertat/Applied-Deep-Learning-with-Keras/blob/master/data/HR.csv 1、查看统计数据 csv文件读取 拿到数据以后,一般都要先看看数据长啥样,有多大,都有什么特征,用pandas查看这些是非常方便的。针对本例子中

wulishinian的博客 2026

pandas的shape函数

其中,df.shape[0]返回的是df的行数,df.shape[1]返回的是df的列数。df.shape返回的是df的行数和列数。

m0_69199936的博客 2648

用pandas做简单策略回测

0601857股票历史交易数据.csv。

daizikui的博客 1436

el-upload自定义上传dwg/dxf文件并且携带额外参数(CAD)

需求:需要使用el-upload自定义上传cad的图片或普通图片,这边需要判断区分下,以及上传后清空上传文件列表。

请叫我欧皇!的博客 1535

关于pandas的简单运用

关于pandas的简单运用

m0_50481455的博客 413

2021秋-北邮计算机导论期末考试(BUPT)

2021秋-北邮计算机导论期末考试(BUPT) 难度较低适合新手练习

weixin_73985779的博客 1497

Python中Pandas包的简单使用

Pandas简单使用 由于Python本身的限制,当数据太大的时候,而无法一次载入内存,需要进行分块导入,并对查询做出相应的修改。 import pandas as pd # 导入pandas import numpy as np # 导入numpy import matplotlib.pyplot as plt dates = pd.date_range('2012120...

暮日落流年的博客 3614

深入解析FastDDS:SHM与DATA-SHARING传输层的性能对比与实现细节

本文深入对比了FastDDS中SHM与DATA-SHARING两种传输层的实现机制与性能差异。SHM采用端口化共享内存模型,存在两次数据拷贝;而DATA-SHARING通过共享历史实现真正的零拷贝,大幅降低延迟与CPU占用。文章结合实战测试数据,为机器人、自动驾驶等高实时性场景提供了关键的性能优化选型与配置指南。

weixin_28358083的博客 231

同步辐射材料科学应用指南:从XAFS原位实验到数据处理

材料结构分析是材料研究的核心环节,但传统实验室X射线受限于能量固定、亮度不足,往往难以回答原子局域配位、非晶结构及动态演变等关键问题。同步辐射光源以高通量、连续可调、偏振可控及脉冲时间结构等特性,将材料表征从静态观察推进到原位动态追踪层次。基于X射线吸收精细结构谱(XAFS)、原位实验、X射线衍射与散射、微区成像等技术,研究人员可实现元素选择性分析、近邻原子环境解析及真实工况下的结构演变监测。本文从技术原理出发,覆盖实验方案设计、样品制备、现场对光、数据处理与常见故障排查,并结合典型应用场景,为材料科学领域

weixin_32612263的博客 163

【pandas】【可视化】一 SQL 数据可视化简单实例 - 使用 pandas.io.sql, MySQL, matplotlib

Overview1 depends2 Prepare2.1 SQL2.2 matplotlib3 pandas 实现简单可视化Reference 1 depends $ pip install numpy, pandas $ pip install matplotlib # x $ pip uninstall matplotlib $ sudo apt install python3-matpl...

「熊猫系列项目」ing 668

LangGraph 中 Human-in-the-loop

摘要:本文探讨了在自主AI Agent系统中实现"人工介入关键节点"(HIL)的技术方案,主要基于LangGraph框架构建。针对Agent可能执行高风险操作(如删除数据库)的问题,提出通过断点机制在关键节点暂停流程,实现人工审批后再继续执行。具体实现包括:(1)使用checkpointer组件持久化状态;(2)通过interrupt_before/after参数设置断点;(3)支持三种交互模式:批准、编辑和输入。文章还提供了代码示例,展示如何在不同场景(如工具调用)中动态触发人工审核机

qq_52053775的博客 153

Pandas的简单使用

Pandas的简单使用前言一、pandas是什么?二、使用步骤1.引入库2.读入数据3.查看表格数据4.分组操作5.导出表总结 前言 之前数学建模的时候处理了3天的数据,也是那次第一次正式使用pands,但是到今天我写这篇博客又过了1个月的时间,现在又对Pandas有了新的认识,所以说代码还是要多写多练。其实具体来说也不是写的很深,由于本人比较懒,还是先写一些放在这,方便以后我使用,其实我之前有习惯就是把自己要记录下来的东西写下来,但是就是不怎么会用这个想用这个编辑器再加上自己很菜,还是不愿意写和总结.

Solkatt's Blog 242

国科大学习资料--高级软件工程-复习题选择题答案

国科大学习资料–高级软件工程(罗铁坚 魏峻 刘丹)-复习题选择题答案 ’‘

无名何许人的博客 1165

90. 将 SAP ABAP 内表内容本地导出成 Excel 文件

这里文件扩展名为 csv,全称是 Comma-Separated Values,意思是这种类型的文件内容,由逗号分隔。除了 ASC 之外,另一个可用的选项是 BIN,适用于 PDF,EXE 等二进制文件的导出。支持海量的输入和输出参数,我们这个简单的本地导出场景里,大部分参数都用不上。这个分隔符的添加逻辑,编写在上图红色高亮矩形框内,使用的语法是。本教程有学习者向我提问,询问如何将 ABAP 某某函数的某某输出参数的值,导出成本地 Excel 文件。把这个内表的内容,下载到本地,以本地文件的方式保存。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1742

Pandas中替换值的简单方法

使用内置的 Pandas 方法进行高级数据处理和字符串操作 Pandas 库被广泛用作数据处理和分析工具,用于从数据中清理和提取特征。 在处理数据时,编辑或删除某些数据作为预处理步骤的一部分。 这可能涉及从现有列创建新列,或修改现有列以使它们适合更易于使用。 为此,Pandas 提供了多种方法,您可以使用这些方法来处理 DataFrame 中所有数据类型的列。 在这篇文章中,让我们具体看看在 DataFrame 中的列中替换值和子字符串。 当您想替换列中的每个值或只想编辑值的一部分时,这会派上用场。 如果您

deephub 1万+

2026最新华为OD机试新系统机考真题- 真题题库目录|全覆盖题库 + 逐点算法考点详解

2026年4月1日起,华为OD机试正式切换至新系统模式!采用力扣模式,无需自己写输入! 难度大幅度降低。正在备考华为OD机试的同学,优先刷新系统机试真题,可大幅提升通过率。 新系统考题考点与旧版一致,无需重新适应。本专栏所有算法题均配有详细思路解析,并提供C语言、JS、C++、Python、Go、Java多语言源码实现。订阅后私信即可开通专属OJ刷题权限,高效备考一次上岸!

算法大师! 2537

pandas的简单例子

pandas的简单例子 标签(空格分隔): pandas #-*- coding: utf-8 -*- import pandas as pd s = pd.Series([1,2,3], index=['a','b','c']) d = pd.DataFrame([[1,2,3],[4,5,6]], columns = ['a','...

weixin_33872566的博客 854

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

pandas的简单使用

import numpy as np import pandas as pd # 读文件 xiao5g = pd.read_table('F:\校园小区场景.txt',header=None) xiao4g = pd.read_csv('F:\校园小区场景4G.CSV',header=None) # 写入文件 writer=pd.ExcelWriter(r'F:\output.xlsx') xiao5g .to_excel(writer,sheet_name='xiao5g ',index=False)

qq_55342245的博客 1189

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【Pandas】简单使用

目录 pd.Series pd.DataFrame 从列表创建DataFrame 从ndarrays/Lists的字典来创建DataFrame 从列表创建数据帧DataFrame 从系列的字典来创建DataFrame 保存为csv pd.Series # coding:utf-8 import pandas as pd import numpy as np data =...

mjiansun的专栏 167

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

利用pandas合并多个excel原来这么简单

具体方法: 1使用panda read_excel 方法加载excel 2使用concat将DataFrame列表进行拼接 3然后使用pd.ExcelWriter对象和to_excel将合并后的DataFrame保存成excel 方法很简单很使用,下面是代码和excel图片 参考文档pandas.DataFrame.to_excel import pandas as pd file1

data_learn的博客 3万+

pandas 简单使用

pandas 简单使用 创建Series import pandas as pd import numpy as np # 创建的Series都是1维数据 # 方式1 默认索引 pd.Series([4, 7, -5, 3]) # 方式2 指定索引 (数组,index=索引) a = np.arange(1, 6) pd.Series(a, index=['一', '二', '三', '四', '五']) # 方式3 创建n个某固定数的数组 (固定数,生成数量) pd.Series(0.

雪剑封心 419

pandas归一化某一列_用pandas进行简单的数据预处理

首先看这样的数据。这是kaggle上的关于员工离职的数据,现在要根据满意度,工作项目, 薪水等指标判断一个员工是否会离职。在进行机器学习之前,我们首先要进行数据的清理及预处理。数据下载https://github.com/ardendertat/Applied-Deep-Learning-with-Keras/blob/master/data/HR.csv1、查看统计数据csv文件读取拿...

weixin_34013327的博客 1473

pandas对于数据的简单处理

1.series一位数组,带标签数组2.dataframe二维,series的容器**pd.series(数据,index=索引)**数据数量要和index数量一致数据可以是推导式、list、字典、和numpy差不多,传入序号或者索引就ok基础属性:t = pd.dataframe(np.arange(12).reshape((3,4)),​ index=list(…),columns=list(…)pd.read_csv(‘CSV文件路径’,names=[‘名字1’,‘给字段取名2’,'名字3’],ind

qq_64852881的博客 261

Pandas库的简单使用

pandas入门使用

csdnVIP071210的博客 519
上一篇: opencv 视频处理(python)
下一篇: PIL简单使用
暴风雨中的白杨
博客等级 码龄6年 1070粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴风雨中的白杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值