当前位置: 代码网 > it编程>前端脚本>Python > pandas中Series与DataFrame的常用属性及方法

pandas中Series与DataFrame的常用属性及方法

2026年07月21日 Python 我要评论
一:series1.常用属性 loc根据行索引获取某行数据,这个是属于:df的对象 iloc根据行号获取某行数据,这个是属于:df的对象dtype获取series的元素类型t转置shape获取seri

一:series

1.常用属性

  loc根据行索引获取某行数据,这个是属于:df的对象
   iloc根据行号获取某行数据,这个是属于:df的对象
dtype获取series的元素类型
t转置
shape获取series的维度
size获取series的元素个数
values获取series的元素值
index获取series的索引,功能类似于keys()
name获取series的名称

2.创造方式

1.通过对象来创建

arr = np.array([1,2,3,4,5])
s1 = pd.series(arr)

2.直接传入

s = pd.series([1,2,3,4,5])

3.index索引传入

s3 = pd.series([1,2,3,4,5], index=['a','b','c','d','e'])

4.元组形式传入

s4 = pd.series((1,3,5),index=['a','b','c'])

5.字典形式传入

s5 = pd.series({'a':1,'b':2,'c':3})

3.常用方法

head(n)/tail(n)获取前 n 行 / 后 n 行数据(默认 5 行)
unique()返回唯一值数组
nunique()返回唯一值的数量
value_counts()计算值的出现频率
isnull()/notnull()检测缺失值
fillna(value)填充缺失值
dropna()删除缺失值
astype(dtype)转换数据类型
apply(func)对每个元素应用函数
sort_values()/sort_index()按值 / 索引排序

二:dataframe

1.常用属性

values返回 dataframe 的底层数据(二维 numpy 数组)
columns返回列标签
index返回行索引
dtypes返回各列的数据类型
shape返回 dataframe 的形状(行数,列数)
size返回元素总数(行数 × 列数)
t返回转置后的 dataframe

2.常用方法

head(n)/tail(n)查看前 n 行 / 后 n 行
info()查看数据基本信息(包括非空值数量、数据类型等)
describe()生成描述性统计数据(计数、均值、标准差等)
drop(columns,axis = 1)删除指定列
drop(index,axis = 0)删除指定行
fillna(value)填充缺失值
dropna()删除缺失值
groupby(by)按指定列分组
merge(other)与另一个 dataframe 合并
pivot_table()创建透视表
sort_values(by)按指定列排序
sort_index()按索引排序
apply(func,axis)沿指定轴应用函数
applymap(func)对每个元素应用函数(已过时,推荐用mapapply
corr()计算列间相关系数

三:更改series和dataframe的方法

1.更改series

根据索引直接赋值

s = pd.series([1,2,3], index=['a','b','c'])
s['b'] = 10  # 修改单个值
s[['a','c']] = [20, 30]  # 修改多个值

添加元素

s['d'] = 40  # 添加单个元素
s = s.append(pd.series([50], index=['e']))  # 添加多个元素(注意:append在新版本中已过时)

删除元素

s = s.drop('e')  # 删除指定索引的元素

2.更改dataframe

添加列

s = s.drop('e')  # 删除指定索引的元素

修改列名

df.rename(columns={'old_name': 'new_name'}, inplace=true)
df.columns = ['col1', 'col2', 'col3']  # 批量修改

修改值

df.loc[0, 'col1'] = 100  # 通过标签修改
df.iloc[1, 2] = 200  # 通过位置修改

添加行

new_row = pd.dataframe([[1,2,3]], columns=df.columns)
df = pd.concat([df, new_row], ignore_index=true)  # 使用concat添加行

删除行列

df.drop(columns=['col1'], inplace=true)  # 删除列
df.drop(index=[0,1], inplace=true)  # 删除行

四:导入导出数据

1.导入数据

从csv文件导入

df = pd.read_csv('file.csv')  # 基本用法
df = pd.read_csv('file.csv', sep=';', header=0, index_col=0)  # 自定义分隔符、表头、索引列

从excel文件导入

df = pd.read_excel('file.xlsx')  # 读取第一个工作表
df = pd.read_excel('file.xlsx', sheet_name='sheet2')  # 指定工作表

从数据库导入

import sqlite3
conn = sqlite3.connect('database.db')
df = pd.read_sql_query('select * from table', conn)

从json导入

df = pd.read_json('file.json')

2.导出数据

导出为csv

df.to_csv('output.csv', index=false)  # index=false不导出索引

导出为excel

df.to_excel('output.xlsx', sheet_name='data', index=false)

导出为json

df.to_json('output.json', orient='records')

导出到数据库

df.to_sql('table_name', conn, if_exists='replace', index=false)

五:扩展

1.inplace参数:许多修改方法都有inplace参数,设为true时直接修改原对象,不返回新对象;默认false,返回修改后的新对象。

2.链式操作:pandas 支持链式操作,提高代码简洁性:

df = pd.read_csv('data.csv').dropna().rename(columns=str.lower).sort_values('date')

3.数据类型转换:使用astype()时要注意数据兼容性,如字符串不能直接转为整数。可先用pd.to_numeric()处理:

df['col'] = pd.to_numeric(df['col'], errors='coerce')  # 无法转换的值变为nan

4.处理大型数据集:导入大型 csv 时,可使用chunksize参数分块处理:

for chunk in pd.read_csv('large_file.csv', chunksize=1000):
    process(chunk)

5.缺失值处理策略:除了fillna()dropna(),还可使用interpolate()进行插值填充,适合时间序列数据。

6.高效迭代:应避免使用for循环迭代 dataframe,优先使用apply()map()等向量化操作,或使用itertuples()/iterrows()提高迭代效率。

到此这篇关于pandas中series与dataframe的常用属性及方法的文章就介绍到这了,更多相关pandas中series与dataframe内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com