使用的软件为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操作相关推荐

  1. Python 文件读写操作-Python零基础入门教程

    目录 一.Python 文件的打开 open 二.Python 文件的关闭 close 三.Python 文件的读取 read 1.read 函数 2.readline 函数 3.readlines ...

  2. 下列不是python对文件的读操作方法_以下选项不是Python文件读操作

    以下选项不是Python文件读操作 答:readtext() Z检验可以用于单个率的检验. 答:对 中国大学MOOC: 在正常膝关节,胫骨围绕股骨从完全屈曲到完全伸直,沿股骨内侧髁的运动曲线是 答:先 ...

  3. 下列不是python对文件的读操作方法_以下选项不是Python文件读操作的是.

    以下选项不是Python文件读操作的是. 答:readtext() 沟通结束以后一定要 答:形成一个共同的协议 针对地下水的研究主要对象是饱和带内的地下水.() 答:√ 下列不是抗日民主根据地出版的报 ...

  4. python 文件读写操作总结

    python 文件读写操作总结 1.打开文件 open函数是python的内置函数,返回一个 file 对象 定义如下: open(file, mode='r', buffering=-1, enco ...

  5. python文件读取操作练习题(统计单词)

    python文件读取操作练习题(统计单词) 学习路线:python的文件读取基础入门(read(),readlines(),with.open()) ->python文件读取操作练习题(统计单词 ...

  6. Python 文件 IO 操作详解

    Python 文件 IO 操作详解 1.文件 IO 常用操作 2.文件打开操作 2.1 打开命令 2.2 命令参数 2.2.1 路径 2.2.2 mode 2.2.3 buffering 缓冲区 2. ...

  7. python 文件的操作

    python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目 ...

  8. python读文件写文件-python 文件读写操作

    读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...

  9. python对文件的读写操作方式-python 文件读写操作

    读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...

最新文章

  1. 文件节点的linux指令,Java工程师必学的Linux命令(一)文件与目录管理
  2. android switcher控件,Android ViewSwitcher 的功能与用法
  3. 华人开发世界最小电池,直径细如灰尘,可集成在芯片上供电10小时
  4. 程序猿修仙之路--算法之直接插入排序
  5. linux如何开启sni服务,Nginx开启单IP多SSL证书支持-TLS SNI support
  6. React开发(230):ant design table固定表头
  7. xcode8注释快捷键失效问题
  8. mysql无损复制_MySQL无损复制(转)
  9. Java一年,面试总结
  10. c语言二分法查找一个数_算法竞赛小专题系列(1):二分法、三分法
  11. 东哥再见!我打算 6 月份离职
  12. 虚拟机修改hosts文件
  13. 软件测试之Web测试流程和方法
  14. 端口扫描实验和Dos攻击实验
  15. 新员工入职表_员工离职率过高,只要三步骤,就能轻松有效控制
  16. dts音效大师安卓版_dts音效大师
  17. 基于python的异方差检验_异方差检验及解决方法
  18. CCRC信息安全服务资质认证流程知识点汇总
  19. 排座系统c语言,2008noip排座位C语言详解.doc
  20. 布尔矩阵与自动推荐系统

热门文章

  1. 使用code::blocks搭建objective-c的IDE开发环境 支持 @interface
  2. 精通RPM之--制作篇(rpmbuild)
  3. linux查看cpu缓存大小,如何在Linux中获取CPU Cache的大小
  4. java判断变量是奇书还是偶数_测试值是奇数还是偶数
  5. 本周四晚8点直播预告丨探秘MySQL极限,解锁核心运维关卡
  6. 国产数据库发展十策(三):是走MySQL路线还是PostgreSQL路线?
  7. 本周两场直播丨通过源码了解openGauss多线程架构;Oracle数据库索引分裂详解。...
  8. 资源丨MySQL故障排查思路方法PPT视频24问答
  9. 万字详解Docker架构原理、功能及使用
  10. 万字详解Oracle架构、原理、进程,学会世间再无复杂架构