我是靠谱客的博主 还单身月亮,最近开发中收集的这篇文章主要介绍python之pandas库基本使用方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、读取文件

import pandas as pd
flie_path1 = 'xxx.xlsx'
flie_path2 = 'xxx.csv'
df = pd.read_excel(flie_path1,header=2) # 读取excel文件,header默认为0,为2则将第三行作为标题,flie_path文件路径
# df = pd.read_excel(flie_path1, sheet_name='信息表')  # 按表名读取
df = pd.read_csv(flie_path2,index_col=False)  # 读取csv文件,index_col=False为去掉索引列
print(df.head(10))    # 打印前10行内容

二、创建内容

1、列表法list

a = [['张三',20,'男'],
     ['李四',16,'男'],
     ['小芳',18,'女']]
df = pd.DataFrame(data=a,columns=['姓名','年龄','性别'])

在这里插入图片描述

2、字典法dict

a = {'学科':['数学','语文','英语'],
     '分数':[100,90,68],
     '排名':[1,5,18]}
df = pd.DataFrame(data=a)

在这里插入图片描述

三、获取内容

1、获取标题 (即第一行内容)

title = df.columns.values.tolist()   # title = ['学科','分数','排名']

2、获取第一列所有元素

rows = df.iloc[:, 0].values.tolist()

3、获取行数、列数

row_column_num = df.shape   # row_column_num = (行数,列数)

4、获取某列、多列内容

# 单列
subject = df['学科'].values.tolist()  # subject = ['数学','语文','英语']
# 多列方法一
subject = df[['学科','分数','排名']]
# 多列方法二
subject = df.iloc[:,0:3]   # 读取1~3列

5、按条件读取一整行数据(条件取行)

content = df[df['学科']=='语文'].values[0].tolist()   # content = ['语文',90,5]

6、获取某行某列内容(条件取值)

score = df.loc[df['学科']=='语文','分数'].values[0]  # score = 90

7、按坐标获取内容(坐标取值)

content = df.iloc[0,0]    # content = 数学

8、提取某列前10个内容

content = df.loc[:10,'学科']
# 或者 content = df['学科'][:10]

四、修改内容

1、按坐标修改

df.iloc[0,0] = '物理'  # 修改该坐标值为物理

2、按条件修改

df.loc[df['学科'] == '语文','分数'] = 66    # 修改满足该条件内容为 66

五、删除内容

1、增加一列数据

df['学分'] = ['3','2','2']

2、删除某行、某列

df.drop(1,inplace=True)  # 删除索引为1的行
df.drop('分数',axis=1,inplace=True)  # 删除分数整列,axis=1表示对列操作
df.drop(columns=['排名'],inplace=True)  # inplace=True 表示在当前df中删除数据,改变原始数据

2、按条件删除某行

df.drop(df[df['分数'] == 90].index, inplace=True)  # 删除分数为90的行

六、消除重复

new_df = df.drop_duplicates(['标题1'], keep='first')  # 根据标题消重,且保留第一项,keep='last'则保留最后一个
new_df = df.drop_duplicates(subset=['标题1','标题2'],keep='first') # 根据两个标题内容作为唯一键,两个内容都一样就消重
new_df.to_excel('文件.xlsx',index=None)

七、保存为文件

df.to_excel('file_name.xlsx')  # 保存为excel文件
df.to_csv('file_name.csv',index=False) # 保存为csv文件,index=False为去掉索引列

八、将日期转为字符串、字符串转日期

1、日期转字符串

subject = df.iloc[:,0].astype(str).values.tolist()  # 将第一列日期转为字符串

2、Excel的数字形式日期转字符串(如:44957,44958,44960)

from datetime import datetime
date_int = 44957
date_str = datetime.fromordinal(datetime(1900, 1, 1).toordinal() + int(date_int) - 2).strftime("%Y-%m-%d")
print(date_str)

3、字符串转日期

subject = pd.to_datetime(df1.iloc[:,0])    # 将第一列字符串转为日期

最后

以上就是还单身月亮为你收集整理的python之pandas库基本使用方法的全部内容,希望文章能够帮你解决python之pandas库基本使用方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部