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行所有列的值