numpy+pandas+matplotlib


前言

万能查询:help

一、使用numpy函数

1.常用语句

import numpy as np
#创建数组
arr=np.array([ ])  一维
arr=np.array([[ ],[ ]])  二维
#等差数列
np.arrange()
np.linspace()
#等比数列
np.logspace
#特殊值数组
np.zeros();np.eye();np.diag();np.ones()#np.ones()*0=np.zeros
np.ones((x,y))#生成x行y列矩阵
#创建随机数组
np.random.random()
np.random.rand()
np.random.randn()
np.random.randint()
#二维索引
arr[(n1,n2),m1]
arr[[(n1,n2,n3),(m1,m2,m3)]
arr[:,m1]
#改变数组形状
ravel();flatten()#展平数组
reshape()
reshape(-1,1)#按列数为1
#numpy.ndarry.T#转置
#组合数组
hstack(),vstack(),concatenate()#axis=0表示行合
#分割数组
np.hsplit();np.vsplit;np.split(,axis)
#数组之间的加减乘除均为对应位置上的运算
#保存和读取文件
np.save(path+'filename',arr) # 保存一维数组,默认.npy
np.savez(path+'filename',arr) # 保存多维数组,默认.npz
#读取后的索引方式:
load_data['arr_n'] # n从0开始

2.应用

生成数据集

#round1 使用hstack()与vstack()堆叠产生数据集
num=100
X=np.random.uniform(0,10,num)
X=X.reshape(-1,1)
noise=np.random.randn(num,1)
Y=noise+2*X+3
XY=np.hstack((X,Y))
XY.shape
#round2 使用numpy.c_[ ]产生数据集
num=100
X=np.random.uniform(0,10,num)
noise=np.random.randn(num)
Y=noise+2*X+3
XY=np.c_[X.ravel(),Y.ravel()] #ravel()还可以用flatten()代替

二、Pandas函数

1.将数组转换为DataFrame格式

df=pd.DataFrame(arr,column=column)
df=pd.DataFrame({
   'label1':arr[:,0],
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,那我们开始吧。 首先,我们需要安装必要的库,包括numpypandasmatplotlib。你可以通过以下命令来安装: ``` pip install numpy pandas matplotlib ``` 接下来,我们需要获取数据。我们可以从58同城的房产页面上爬取数据。这里我们使用Python中的requests库和BeautifulSoup库来实现。 ```python import requests from bs4 import BeautifulSoup url = 'https://cd.58.com/ershoufang/' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'} r = requests.get(url, headers=headers) soup = BeautifulSoup(r.text, 'html.parser') house_list = soup.find_all('div', {'class': 'property_content'}) ``` 现在我们已经成功获取了房屋列表。接下来,我们需要将它们保存到一个数据框中,以便进行分析。 ```python import pandas as pd data = [] for house in house_list: title = house.find('h3').text.strip() info_list = house.find('div', {'class': 'property_des'}).find_all('p') area = info_list[0].text.strip() layout = info_list[1].text.strip() direction = info_list[2].text.strip() floor = info_list[3].text.strip() age = info_list[4].text.strip() price = house.find('div', {'class': 'property_price'}).find('p').text.strip() data.append({'title': title, 'area': area, 'layout': layout, 'direction': direction, 'floor': floor, 'age': age, 'price': price}) df = pd.DataFrame(data) ``` 现在我们已经成功将数据保存到一个数据框中。我们可以开始对数据进行分析了。 首先,我们可以查看数据的基本统计信息。 ```python print(df.describe()) ``` 接下来,我们可以绘制一个房价分布图,以了解房价的分布情况。 ```python import matplotlib.pyplot as plt plt.hist(df['price'], bins=20) plt.xlabel('Price') plt.ylabel('Count') plt.show() ``` 我们还可以绘制一个散点图,以了解房价与面积之间的关系。 ```python plt.scatter(df['area'], df['price']) plt.xlabel('Area') plt.ylabel('Price') plt.show() ``` 最后,我们可以绘制一个箱线图,以了解不同户型的房价分布情况。 ```python import seaborn as sns sns.boxplot(x='layout', y='price', data=df) plt.show() ``` 这样,我们就完成了58同城成都房价的数据分析

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值