学习pandas
import pandas as pd data = pd.read_csv("../untitled5/bankloan.csv") data = data.drop(["违约", "其他负债", "信用卡负债"],axis = 1) #删除数据中"违约", "其他负债", "信用卡负债"的列数据 data = data.dropna() #删除一整行的值都为NA的行 data = data.set_index('日期') #用数据中日期列为列索引 print(data.head()) #算术运算 #Series data_add = data["年龄"]+3 #给'年龄'列全部+3 data_add1 = data["年龄"].add(3).head() #可.head() add+ sub- print(data_add1) #DataFrame data_alladd = data + 10 print(data_alladd) #列之间相减 data_subyear = data["年龄"].sub(data["工龄"]).head() print(data_subyear) #逻辑运算符 <、 >、 |、 & data["年龄"]>40 #返回布尔值True/False a = data[data["年龄"]>40] #返回数值 将'年龄'列大于40的数值提出来 print(a.head()) b = data[(data["年龄"]>40) & (data["教育"]>3)] print(b.head()) #逻辑运算函数 query()、isin() #query() 挑选符合逻辑条件的值 c = data.query("年龄 > 40 & 教育 > 3") print(c.head()) #isin() 挑选出某列含有某个值 data["负债率"].isin([2.4, 9,3]) #返回布尔值True/False d = data[data["负债率"].isin([2.4, 9.3])] #选出负债率为2.4或者9.3的值 print(d) #统计运算 count计数 mean平均值 std 标准差 分位数:25%即四分之一位数 50%即中位数 75%即四分之三位数 min最小 max最大 #按DataFrame统计 data_count = data.describe() print(data_count) #按Series统计 max min mean std var(方差) median(中位数) 等 data_max = data.max() #默认按列统计最大值即axis = 0 也可让axis=1来统计行最大值 print(data_max) #统计其对应位置 idxmax idxmin data_wheremax = data.idxmax() #同理默认列 axis=0 print(data_wheremax) #统计趋势 data_noun = data["收入"].cumsum() #计算前1/2/3/4/.../n个数的和 cumprod~积 print(data_noun) #自定义运算 apply(func,axis=0) func:自定义函数 可def一个函数名导入, 默认axis=0 计算列 data_DIY = data.apply(lambda x :x.max() - x.min()) #可自定义def函数或用lambda print(data_DIY) l = data["收入"].max() - data["收入"].min() #验证一下 print(l) ''' #作图DataFrame.plot(x=None,y=None,kind='line') import matplotlib.pyplot as plt data.plot(x='年龄',y='工龄',kind="scatter") #scatter 散点图 plt.show() ''' #读取csvw文件pd.read_csv("路径", usecols=['',''],names=['','','...'] ) usecols:读取指定列 names:若第一行没有标题索引,则手动添加字段 data_read = pd.read_csv("../untitled5/bankloan.csv", usecols=["年龄","收入"]) print(data_read.head()) #保存文件 columns:保存读取指定列 index:是否取索引列,False取消,默认True mode='a':追加 往下复制粘贴读取到上面的数值 header:追加时是否添加索引列,默认True data[:10].to_csv("../untitled5/test.csv", columns=["年龄","收入"], index=False, mode='a', header=False)
明天看看DataWorks