python文件のpandas操作
使用的软件为Jupyter Notebook
将DataFrame包装进数据框;
import numpy as np
disl={'id':list(range(1,10)),'cpu':['i7','i5',np.nan,'i7','i7','i5',np.nan,np.nan,'i5']}
pd.DataFrame(disl)
tsv文件读取:
import pandas as pd
train=pd.read_csv('test.tsv', sep='\t')#sep输入的是分隔符
如果读取tsv已有表头:
train=pd.read_csv('test.tsv', sep='\t', header=0)
如果已有主键列:
train=pd.read_csv('test.tsv', sep='\t', header=0, index_col='id')
原文地址:https://zgljl2012.com/python-pandasdu-qu-tsvwen-jian/
python pandas读取前十行:
import pandas as pd
data=pd.read_csv('./data/chipotle.tsv', sep='\t',nrows=10)
获取pandas的列数:
import pandas as pd
data=pd.read_csv('./data/chipotle.tsv', sep='\t')
data.shape[1]
获取pandas的行数:
import pandas as pd
data=pd.read_csv('./data/chipotle.tsv', sep='\t')
data.shape[0]#或者:len(data)
打印全部列名
import pandas as pd
data=pd.read_csv('./data/chipotle.tsv', sep='\t')
#1:
list(data)
#2:
[column for column in data]
#3:(返回的是array)
data.columns.values
#4:(返回Index,可以通过 tolist(), 或者 list(array) 转换为list)
data.columns
查看pandas中的索引数据类型:
#少量数据:
import pandas as pd
data=pd.read_csv('./data/chipotle.tsv', sep='\t')
data.dtype
#大量数据:
import pandas as pd
data=pd.read_csv('./data/chipotle.tsv', sep='\t')
data_type=data.cloumns
for a in data_type:print(a+':'+str(data[a].dtype))
pandas按照指定列排序:
import pandas as pd
data=pd.read_csv('./data/chipotle.tsv', sep='\t')
df = data.groupby(by=['item_name']).sum()
df.sort_values(by="item_name" , ascending=False)
#by: 指定列 ascending,False为降序,True为升序
pandas获取n行到m行
import pandas as pd
data=pd.read_csv('./data/chipotle.tsv', sep='\t')
data.local[n,m]#n,m为int
pandas获取指定列:
import pandas as pd
data=pd.read_csv('./data/chipotle.tsv', sep='\t')
#获取quantity和item_price列
data[['quantity','item_price']]
pandas指定列相乘:
import pandas as pd
data=pd.read_csv('./data/chipotle.tsv', sep='\t')
#获取quantity和item_price列
data[['quantity','item_price']]
data['col3']=data.apply(lambda data:data['quantity']*data['item_price'], axis=1)
#新建的col3列为指定列乘积
#若其中一项为string,则相乘只是将字符串重复
pandas中删除包含指定字符的行:
import pandas as pd
import numpy as np
data=pd.read_csv('./data/chipotle.tsv', sep='\t')
data=data[['quantity','item_price']]#单独显示价格和数量
#~必须有
data=data[~data['item_price'].str.contains('$')]
data
输出:
pandas中想取到包含某些字符的行:
import pandas as pd
import numpy as np
data=pd.read_csv('./data/chipotle.tsv', sep='\t')
data=data[['quantity','item_price']]#单独显示价格和数量
#去掉~即可
data=data[data['item_price'].str.contains('$')]
data
pandas中去除开头的$:
import pandas as pd
import numpy as np
data=pd.read_csv('./data/chipotle.tsv', sep='\t')
data=data[['quantity','item_price']]#单独显示价格和数量
data['item_price'].str.strip('$')
下面文章所用的原数据如图:
1.修改列名(使他看起来好看/方便一些):
import pandas as pd
data=pd.read_csv('./data/job_info/job_info.csv',encoding='gbk')
#要求名称:data.columns =['公司','岗位','工作地点','工资','发布日期']
#法一:
data=data.rename(columns={'字节跳动':'公司','数据产品经理':'岗位','北京':'工作地点','2-3.5万/月':'工资','09-03':'发布日期'})#法二:
#data.set_axis(['公司','岗位','工作地点','工资','发布日期'],axis='columns',inplace=False)
data
2.如果你想看元数据中岗位的总数/哪个岗位需求最多:
import pandas as pd
data=pd.read_csv('./data/job_info/job_info.csv',encoding='gbk')
data=data.rename(columns={'字节跳动':'公司','数据产品经理':'岗位','北京':'工作地点','2-3.5万/月':'工资','09-03':'发布日期'})
data
#2.数据产品经理所需岗位最多
df= data.groupby(['岗位']).count()
df
3.将其中的最后一行“发布时间”改为dataframe时间类型:
import pandas as pd
data=pd.read_csv('./data/job_info/job_info.csv',encoding='gbk')
data=data.rename(columns={'字节跳动':'公司','数据产品经理':'岗位','北京':'工作地点','2-3.5万/月':'工资','09-03':'发布日期'})
from datetime import datetime
#不同的时间格式修改:
#%y 两位数的年份表示(00-99)
#%Y 四位数的年份表示(000-9999)
#%m 月份(01-12)
#%d 日(0-31)
#%H 24小时制小时(0-24)
#%I 12小时制小时(0-12)
#%M 分钟(00-59)
#%S 秒(00-59)
data['发布日期']=pd.to_datetime(data['发布日期'],format='%m-%d')
4.查看指定发布日期的行
import pandas as pd
data=pd.read_csv('./data/job_info/job_info.csv',encoding='gbk')
data=data.rename(columns={'字节跳动':'公司','数据产品经理':'岗位','北京':'工作地点','2-3.5万/月':'工资','09-03':'发布日期'})
data
#显示所有9-3号的招聘
data[data['发布日期'].isin(['09-03'])]
5.查看公司在深圳并且岗位是数据分析师的行:
import pandas as pd
data=pd.read_csv('./data/job_info/job_info.csv',encoding='gbk')
data=data.rename(columns={'字节跳动':'公司','数据产品经理':'岗位','北京':'工作地点','2-3.5万/月':'工资','09-03':'发布日期'})
data
#显示所有9-3号的招聘
data=data[data['工作地点'].isin(['深圳'])]
data=data[data['岗位'].isin(['数据分析师'])]
6.去除所有行中有NaN值得行:
import pandas as pd
data=pd.read_csv('./data/job_info/job_info.csv',encoding='gbk')
data=data.rename(columns={'字节跳动':'公司','数据产品经理':'岗位','北京':'工作地点','2-3.5万/月':'工资','09-03':'发布日期'})
data
#如果想要代替的话:
#data.fillna(0)
#丢弃:
end=data.dropna(axis=0,how='any')
end
python文件のpandas操作相关推荐
- Python 文件读写操作-Python零基础入门教程
目录 一.Python 文件的打开 open 二.Python 文件的关闭 close 三.Python 文件的读取 read 1.read 函数 2.readline 函数 3.readlines ...
- 下列不是python对文件的读操作方法_以下选项不是Python文件读操作
以下选项不是Python文件读操作 答:readtext() Z检验可以用于单个率的检验. 答:对 中国大学MOOC: 在正常膝关节,胫骨围绕股骨从完全屈曲到完全伸直,沿股骨内侧髁的运动曲线是 答:先 ...
- 下列不是python对文件的读操作方法_以下选项不是Python文件读操作的是.
以下选项不是Python文件读操作的是. 答:readtext() 沟通结束以后一定要 答:形成一个共同的协议 针对地下水的研究主要对象是饱和带内的地下水.() 答:√ 下列不是抗日民主根据地出版的报 ...
- python 文件读写操作总结
python 文件读写操作总结 1.打开文件 open函数是python的内置函数,返回一个 file 对象 定义如下: open(file, mode='r', buffering=-1, enco ...
- python文件读取操作练习题(统计单词)
python文件读取操作练习题(统计单词) 学习路线:python的文件读取基础入门(read(),readlines(),with.open()) ->python文件读取操作练习题(统计单词 ...
- Python 文件 IO 操作详解
Python 文件 IO 操作详解 1.文件 IO 常用操作 2.文件打开操作 2.1 打开命令 2.2 命令参数 2.2.1 路径 2.2.2 mode 2.2.3 buffering 缓冲区 2. ...
- python 文件的操作
python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目 ...
- python读文件写文件-python 文件读写操作
读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...
- python对文件的读写操作方式-python 文件读写操作
读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...
最新文章
- 文件节点的linux指令,Java工程师必学的Linux命令(一)文件与目录管理
- android switcher控件,Android ViewSwitcher 的功能与用法
- 华人开发世界最小电池,直径细如灰尘,可集成在芯片上供电10小时
- 程序猿修仙之路--算法之直接插入排序
- linux如何开启sni服务,Nginx开启单IP多SSL证书支持-TLS SNI support
- React开发(230):ant design table固定表头
- xcode8注释快捷键失效问题
- mysql无损复制_MySQL无损复制(转)
- Java一年,面试总结
- c语言二分法查找一个数_算法竞赛小专题系列(1):二分法、三分法
- 东哥再见!我打算 6 月份离职
- 虚拟机修改hosts文件
- 软件测试之Web测试流程和方法
- 端口扫描实验和Dos攻击实验
- 新员工入职表_员工离职率过高,只要三步骤,就能轻松有效控制
- dts音效大师安卓版_dts音效大师
- 基于python的异方差检验_异方差检验及解决方法
- CCRC信息安全服务资质认证流程知识点汇总
- 排座系统c语言,2008noip排座位C语言详解.doc
- 布尔矩阵与自动推荐系统
热门文章
- 使用code::blocks搭建objective-c的IDE开发环境 支持 @interface
- 精通RPM之--制作篇(rpmbuild)
- linux查看cpu缓存大小,如何在Linux中获取CPU Cache的大小
- java判断变量是奇书还是偶数_测试值是奇数还是偶数
- 本周四晚8点直播预告丨探秘MySQL极限,解锁核心运维关卡
- 国产数据库发展十策(三):是走MySQL路线还是PostgreSQL路线?
- 本周两场直播丨通过源码了解openGauss多线程架构;Oracle数据库索引分裂详解。...
- 资源丨MySQL故障排查思路方法PPT视频24问答
- 万字详解Docker架构原理、功能及使用
- 万字详解Oracle架构、原理、进程,学会世间再无复杂架构