首先先下载好csv文件,导入numpy和pandas
使用相对路径导入时应注意导入文件的位置是否在当前文件位置上,可使用os.getcwd()获取当前文件位置
import os #获取当前文件位置 path1=os.getcwd()
使用相对路径加载
数据过大时中间列会被表示成...,为避免列消失,可设置set_option显示全部列
#数据过大时行列会省略 pd.set_option('display.max_column',None)#显示消失的列
#使用相对路径 df=pd.read_csv('train.csv')#引号内为导入的文件名 print(df.head(3))#打印
pd.read_table()是以制表符 \t 作为数据的标志,读取csv文件得到的结果为n*1的数组
若要达到一致效果则需设定pd.read_table()里的sep属性为号,pd.read_table('train.csv',sep=',')
pd.read_csv()则是以逗号作为数据的标志
df=pd.read_table('train.csv',sep=',') print(df.head(3))#打印
逐块读取
#逐块读取 chunker=pd.read_csv('train.csv',chunksize=1000)#若chunksize=3,则每读取3行迭代1次 print(type(chunker)) for piece in chunker: print(piece)
将表头列名变为中文
#另外也可直接将csv文件里表头修改为中文,或在字符串前+u,如df2.column=[u:'修改后的列名',...,] df2 = pd.read_csv('train.csv', names=['乘客ID','是否幸存','仓位等级','姓名','性别','年龄','兄弟姐妹个数','父母子女个数','船票信息','票价','客舱','登船港口'],index_col='乘客ID',header=0) #header指定行索引,index_col指定列索引 print(df2.head())
查看数据基本信息
查看前5行与最后15行数据信息
df2.info() print(df2.head(5)) print(df2.tail(15))
isnull()判断
#判断数据是否为空,为空的地方返回True,其余地方返回False print(df2.isnull().head())
保存
#保存 df2.to_csv('train_chinese.csv',encoding='GBK')
pandas中有两个数据类型DateFrame和Series,以下为创建数据
#创建Series类型的数据 sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000} example_1 = pd.Series(sdata) print(example_1) #创建DateFrame类型的数据 data= {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'],data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'], 'year': [2000, 2001, 2002, 2001, 2002, 2003],'pop': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]} example_2 = pd.DataFrame(data) print(example_2)
查看列名与某一列下的值
#查看每列名称 print(df2.columns) #查看该列对应值 print(df['Cabin'].head(3)) print(df.Cabin.head(3))#效果一样