当前位置: 首页 > news >正文

pandas对于文件数据基本操作,数据处理常用

基本操作

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple (安装包) 清华安装
例如

 pip3 install --index-url https://pypi.douban.com/simple pandas

国内的其他镜像源
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

数据导入

# 以下两种效果一样,如果是网址它会自动下载数据到内存
import pandas as pd
df = pd.read_excel('https://www.gairuo.com/file/data/team.xlsx')
df = pd.read_excel('team.xlsx') # 文件在 notebook 文件同一目录下
# 如果是 csv 的话使用 pd.read_csv() ,还支持很多类型的数据读取

但是有时候一个表里面会有很多个表单例如下面情况
这个时候我们需要用到这个

df = pd.read_excel('a.xlsx',sheet_name= 'Sheet1'#当sheet_name= None即读取全部数据

在这里插入图片描述

保存数据

df.to_excel('team-done.xlsx') # 导出 excel
df.to_csv('team-done.csv') # 导出 csv

加载数据集

df.shape # (100, 6) 查看行数和列数
df.info() # 查看索引、数据类型和内存信息
df.columns # 列名
#上面的比较常用
df.describe() # 查看数值型列的汇总统计
df.dtypes # 查看各字段类型
df.axes # 显示数据行和列名

#常用查看数据组成情况的
df["列名"].value_counts()
#查看缺失值
df['店面情况'].isnull().sum()
#查看重复值
df['单号详细'].duplicated()

数据基本处理

类型处理

类型转换

#类型转换
df[a] = df[a].apply(lambda x: float(x))

独热编码

#独热编码,i为列名
total_df[i] = LabelEncoder().fit_transform(total_df[i])

删除(按照条件,索引,列行)

#删除NaN值
df.dropna(axis=1)
df.dropna(axis=0,how="all",inplace=True)#全部为nan才删除
#有一个就删除此行删除空值
df.dropna(axis=0, how='any', inplace=True)
#参数axis为0表示在0轴(列)上搜索名为“姓名”的对象,然后删除对象“姓名”对应的行。
data.drop("姓名",axis = 0)
#参数axis为0表示在1轴(行)上搜索名为“姓名”的对象,然后删除对象“姓名”对应的列。
data.drop("姓名",axis = 1)
#删除data中索引为0和1的行
data.drop(index = [0,1])
#按照条件删除
df.drop(df[df['学历要求']==i].index)

空数据填充

填充前一个值

#数据填充
train_data.fillna(method='pad', inplace=True) # 填充前一条数据的值
train_data.fillna(method='bfill', inplace=True) # 填充后一条数据的值

df表处理

#pandas转置
df = df.T

合并两个DataFrame

newdf = pd.concat(A,B],axis=1)
newdf.columns=[Aname,Bname]#赋予列名

排序

# 按照指定值排序
df['点菜明细'].sort_values('消费金额', ascending=False)

数据提取

#提取所有数据
data.iloc[:,:]
# 提取第0、1行,第0、1列中的数据
data.iloc[[0,1],[0,1]]
提取A列中数字为0,且B列中数值为1所在行的数据
data.loc[(data['A']==0) & (data['B']==1)]
#出现名字-次数
labs = df["name"].value_counts()

数据处理函数

函数

合并两个文件csv,保存为新的csv

excel的话改一下就好了,这里后面演示类似的

def hebingcsv(A,B,writer_file)
    """
    A文件路径
    B文件路径
    writer_file输出的文件路径,若是excel则修改csv为excel即可
    """
	A= pd.read_csv(A)
	B= pd.read_csv(B)
	dfs=[]
	dfs.append(A)
	dfs.append(B)
	total_df = pd.concat(dfs)
	total_df.to_csv(writer_file, index = False)

将文件目录下所有的excel合并

csv的话改一下就好了

import os
def codir_excel(path,writer_file):
    """
    path文件路径
    writer_file输出的文件路径,若是csv则修改excel为csv即可
    """
    dfs=[]
    for file_name in os.listdir(path):
        Path_excel = os.path.join(path,file_name)
        df = pd.read_excel(Path_excel)
        dfs.append(df)
    total_df = pd.concat(dfs)
    total_df.to_excel(writer_file, index = False)

将两个列表合成csv格式

def helist(A,B,Aname,Bname):
	"""
	A、B要合并的列表
	Aname、Bname合并列表的列名
	"""
	newdf = pd.concat([pd.DataFrame(A),pd.DataFrame(B)],axis=1)
	newdf.columns=[Aname,Bname]
	return newdf
#示范
helist(A,B,Aname,Bname).to_excel(writer_file, index = False)

相关文章:

  • 网站系统名称是什么/济宁seo公司
  • 广州网站制作十年乐云seo/网站快速排名推广软件
  • 网站建设与运营市场风险/微信管理系统平台
  • 网站优化推广公司/免费新闻源发布平台
  • 快速网站建设/成品短视频app源码的优点
  • 专注律师微网站建设与律师微信营销/今日十大热点新闻
  • WebSocketSSE实时动态数据展示
  • 数字三渔冲:打造美丽乡村新范式
  • 【爬虫】JS逆向解决反爬问题系列3—sign破解
  • 算法day55|392,115
  • 1 安装部署
  • 提交 bug 的内容书写规范
  • 16含风光水的虚拟电厂与配电公司协调调度模型(场景削减MATLAB程序)
  • Linux中find用法示例
  • 能源监控管理系统|瑜岿科技
  • RV1126笔记五:人脸识别方案<三>
  • 基于Python的Flask WEB框架实现后台权限管理系统(含数据库),内容包含:用户管理、角色管理、资源管理和机构管理
  • MySQL面试常问问题(锁 + 事务) —— 赶快收藏