12.20学习笔记-数据可视化小练习

本文详细介绍Pandas和NumPy库在数据处理和分析中的应用,通过读取CSV文件、数据筛选、绘制图表等实例,展示如何高效操作数据集。同时,文章涵盖数据预览、数据对比及矩阵运算等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pandas和numpy库的应用

练习用的大部分数据来自kaggle

主要用于处理一些数据
以读取csv文件为例

from matplotlib import pyplot as plt
import pandas as pd
x=pd.read_csv('/Users/蔡洪浩/Desktop/countries.csv')
#y=x[10]
y=x.country=='China'
#print(y) bool值类型
#z=x[y] 如果y是真则输出z,也就是把国家为China的全部输出
#print(z)
z=x[2:10]#利用切片的知识可以把2到10的所有信息输出
print(z)

再用上画图各种胡搞

from matplotlib import pyplot as plt
import pandas as pd

x=pd.read_csv('/Users/蔡洪浩/Desktop/countries.csv')
#y=x[10]
china_data=x.country=='China'
china=x[china_data]
US_data=x.country=='United States'
US=x[US_data]
#上面分别把两个国家的数据存起来


#print(y)
#z=x[y]
#print(z)
#print(x.year[2:10])

plt.plot(china.year,china.population/10**8,label='china')
#这里10**8就是避免y轴出现科学计数法,下同
plt.plot(US.year,US.population/10**8,label='US')
#plt.plot(china.year,china.population/china.population.iloc[0],label='china')
#plt.plot(US.year,US.population/US.population.iloc[0],label='US')
#这种除以自己第一年的人数就是反应的增长率的问题
#iloc函数就是调出某一行的数据
plt.legend()

#print(z)

导入数据使用pandas的一些练习

from matplotlib import pyplot as plt
import pandas as pd
pd.set_option('display.max_row',100)
pd.set_option('display.max_columns',100)
#不想看到省略号,相当于设置行距之类的
#users=['a','b','c','d']
df=pd.read_csv('/Users/蔡洪浩/Desktop/diabetes.csv',index_col=0)
#df=pd.read_csv('/Users/蔡洪浩/Desktop/diabetes.csv',index_col=0,names=users)
#把开头的序号变成名字
#就可以使用print(df['a']) 就是把a那一列输出
#也可以使用print(df.a) 但是有时候会出错
#甚至可以用print(df.a+','+df.c) 就是把两列数字并行输出
#df['new name']=df.c+df.a  这个表示的是把我们新生成的数据插入到df中。便于我们来进行对比。
#index_col =0 取消前面的序号

#print(df.describe()) 那道数据的第一步,看总体数据的描述

print(df)

#print(df.head())
#plt.scatter(df.Glucose,df.BloodPressure)
#plt.hist(df.BloodPressure)

numpy利用index来完成一些事

from matplotlib import pyplot as plt
import numpy as np

v=np.array([1,23,4,5,723,12,4])
v1=np.array([[1,2,4,55,1],
            [1,1,1,1,1]])
#list 向矩阵的转换 
#后者为二维矩阵
#print(type(v))
#print(v1)
#k=[0,4]
#j=[np.arange(2),k] +=100
#print(np.arange(2))
#arange(x) 就是生成0-1的数字
#print(j)
#矩阵的加法
#print(v[v>3])
#输出v矩阵中大于3的数字

矩阵的一些运算

from matplotlib import pyplot as plt
import numpy as np

v=np.array([1,23,4,5,723,12,4])
v1=np.array([[1,2,4,55,1],
            [1,1,1,1,1]])

# 生成一个行列相等的数字
# 他们之间的加减法就是对应的行列相加减


#举一个加法为例子
x=np.array([[1,2],[3,4]])
y=np.array([[2,4],[7,9]])
#print(x+y)

#开方
#print(np.sqrt(x))

print(np.dot(x,y)) #点乘
#print(x.dot(y))

#print(np.sum(x))
#print(np.sum(x,axis=1))
#axis =1 的时候就是求列的和
#print(x.T)
#矩阵的转置
y=empty_like(y)
#行列一样生成的随机矩阵
for i in range(2):
    z[i,:]=x[i,:]+y
#z矩阵的每一行都加y(进行的是矩阵的加法!!)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值