流水账第八章

学习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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值