第5篇:数据读写及操作

import pandas as pds
import numpy as np

#数据读取
df = pds.read_csv('D://try.csv', encoding='UTF-8')
df = pds.read_table('D://try.txt')
df = pds.read_table('D://try.txt', names=['age', 'name'], sep=',')
df = pds.read_excel('D://try.xlsx', sheetname='data')


#数据写入

df = DataFrame({
'age': [21, 22, 23],
'name': ['KEN', 'John', 'JIMI']
});

df.to_csv("D:\\try.csv");  #目录必须存在
df.to_csv("D:\\try.csv", index=False);  #无索引值
newDF = df.drop_duplicates();  #数据去重
newDF = df.dropna();  #删除Nan存在的整行数据


a = df['name'].str.strip();  #将name列数组去除,去空格,保存为a
df['name'] = newName;  #将a赋值给df的name列


df['tel'] = df['tel'].astype(str);  #将df的tel列数据转为字符串格式
bands = df['tel'].str.slice(0, 3);  #将df的tel列数据进行切片

newDF = df['name'].str.split(' ', n, True);  #第一个参数为分割标志,第二个参数为分成n+1列,第三个参数为True,返回DateFrame;False,返回Series。
newDF.columns = ['band', 'name'];  #重新命名列标号


#取出符合条件的值
df[df.comments>10000];
df[df.comments.between(1000, 10000)]
df[pandas.isnull(df.title)]  #取出title列为空值的整行
df[df.title.str.contains('台电', na=False)]  #na为是否包含空值
df[(df.comments>=1000) & (df.comments<=10000)]


r = numpy.random.randint(0, 10, 3);  #随机抽样函数,从0到10取三个数,3可以改为[m,n]
df.loc[r, :];  #取r行所有列的值

猜你喜欢

转载自www.cnblogs.com/really-really/p/11133761.html