Python——pandas库

Pandas是一个强大的数据分析库,主要用于处理和分析结构化数据。它提供了高性能的数据结构,使得数据清洗、操纵和分析变得更加高效和简单。

数据结构:

Series:类似于一维数组,可以保存任意数据类型。

DataFrame:类似于电子表格或SQL表,支持多维数据。

(图片来源于网络,仅供学习)

DataFrame构造方法:

DataFrame(data,index,columns,dtype,copy) 

参数说明:

data:一组数据,例如:ndarray(多维数组),series(一维数组),lists(列表),dict(字典)等等

index:索引值或行标签,类似表头首行

columns:列标签,默认为RangeIndex(0,1,2,,,n)

dtype:数据类型

copy:拷贝数据,默认为false。

import numpy as np
import pandas as pd
import random
d = np.random.rand(3,4) #生成三行四列
print(d)
print(type(d))
data = pd.DataFrame(data=d,columns=['a','b','c','d'],dtype=float)##columns=list('abcd')
print(data)
print(type(data))
print(data['a'])##输出一列
print(data[list('ab')])##输出多列
print("#########________文件保存______________##########")

数据操作:

数据读取和写入:支持从CSV、Excel、SQL数据库等多种格式读取和写入数据。

数据选择与过滤:可以通过标签或位置选择数据。

数据清洗:支持缺失值处理、重复数据删除等功能。

‌创建DataFrame :

从CSV文件导入数据:使用pdread_csv()函数。

从‌Excel文件导入数据:使用pdread_excel()函数。

手动创建DataFrame:使用pdDataFrame()函数,可以传入字典、列表或NumPy数组等。

‌查看DataFrame‌:

查看头部和尾部数据:使用dfhead()和dftail()方法。

查看特定列的数据:使用df['column_name']或dfcolumn_name。

‌索引和选择数据‌:

使用loc[]根据标签索引数据。

使用iloc[]根据整数位置索引数据。

选择多列数据:df[['column1', 'column2']]。

选择多行数据:dfloc[row_index]。

‌修改DataFrame‌:

添加列:使用df['new_column'] = values。

删除列:使用del df['column_name']或dfdrop('column_name', axis=1)。

删除行:使用dfdrop(row_index)。

保存DataFrame‌:

保存为CSV文件:使用:DataFrame.to_csv('file_path',header=True, index=True, path_or_buf=None, sep=',', na_rep='', float_format=None, columns=None, index_label=None, mode='w', encoding=None, compression='infer', quoting=None, quotechar='"', line_terminator=None, chunksize=None, date_format=None, doublequote=True, escapechar=None, decimal='.', errors='strict')

保存为Excel文件:使用:DataFrame.to_excel('file_path',header=True, index=True, path_or_buf=None, sep=',', na_rep='', float_format=None, columns=None, index_label=None, mode='w', encoding=None, compression='infer', quoting=None, quotechar='"', line_terminator=None, chunksize=None, date_format=None, doublequote=True, escapechar=None, decimal='.', errors='strict')

参数名

参数类型

描述

file_path文件路径默认文件路径

path_or_buf

字符串或文件句柄

默认无文件路径或对象,如果没有提供,结果将返回为字符串。

sep

默认字符‘,’

输出文件的字段分隔符。

na_rep

字符串,默认为 ‘’

缺失数据填充。

float_format

字符串,默认为 None

小数点保留几位。

columns

序列,数组

可选列写入,要写入的字段列表。

header

字符串或布尔列表,默认为true

写出列名。如果给定字符串列表,则作为列名的别名。

index

布尔值,默认为Ture

写入行名称(索引)。

index_label

字符串或序列,或False,默认为None

 如果需要,可以使用索引列的列标签。如果没有给出,且标题和索引为True,则使用索引名称。如果数据文件使用多索引,则应该使用这个序列。如果值为False,不打印索引字段。在R中使用index_label=False 更容易导入索引.

mode

字符串,默认为"w"

Python写模式,默认“w”。

r : 只能读, 必须存在, 可在任意位置读取

w : 只能写, 可以不存在, 必会擦掉原有内容从头写

a : 只能写, 可以不存在, 必不能修改原有内容, 只能在结尾追加写, 文件指针无效

r+ : 可读可写, 必须存在, 可在任意位置读写, 读与写共用同一个指针

w+ : 可读可写, 可以不存在, 必会擦掉原有内容从头写

a+ : 可读可写, 可以不存在, 必不能修改原有内容, 只能在结尾追加写, 文件指针只对读有效 (写操作会将文件指针移动到文件尾)

encoding

字符串,可选

编码格式,表示在输出文件中使用的编码的字符串,Python2默认为“ASCII”,Python3默认为“UTF-8”。

compression

字符串,可选项

 表示在输出文件中使用的压缩的字符串,允许值为“gzip”、“bz2”、“xz”,仅在第一个参数是文件名时使用。

line_terminator

字符串,默认为 ‘\n’

在输出文件中使用的换行字符或字符序列。默认为os.linesep,这取决于调用此方法的操作系统(例如,对于linux为“n”,对于Windows为“rn”)

quoting

CSV模块的可选常量

默认值为to_csv.QUOTE_MINIMAL。如果设置了浮点格式,那么浮点将转换为字符串,因此csv.QUOTE_NONNUMERIC会将它们视为非数值的。

quotechar

字符串(长度为1),默认“”

用于引用字段的字符

doublequote

布尔,默认为Ture

引用路径在双引号内

escapechar

字符串(长度为1),默认为None

在适当的时候用来转义sep和quotechar的字符

chunksize

int或None

一次写入行

date_format

字符串,默认为None

日期时间对象的格式字符串

decimal

字符串,默认’。’

识别为十进制分隔符的字符。欧洲数据使用 ​​’,’

errors

字符串。

指定如何处理编码和解码错误

保存数据例子:

import numpy as np
import pandas as pd
import random
d = np.random.rand(3,4) #生成三行四列
print(d)
print(type(d))
data = pd.DataFrame(data=d,columns=['a','b','c','d'],dtype=float)##columns=list('abcd')
print(data)
# print(type(data))
# print(data['a'])##输出一列
# print(data[list('ab')])##输出多列
print("#########________文件保存______________##########")

data.to_csv('data.csv',index=False,header=True)
print('文件保存成功')

数据分析:

数据聚合与分组:通过groupby进行数据分组和聚合计算。

统计分析:提供基本的统计函数(如均值、标准差等)。

时间序列:

强大的时间序列功能,支持日期范围生成、频率转换、移动窗口统计等。

数据可视化:

可以与Matplotlib、Seaborn等库结合,实现数据可视化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值