测试
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
a = 1
plt.rcParams['font.sans-serif']=['SimHei']
data = pd.read_csv(r'C:\Users\ASUS\Desktop\1978_2020_GDP.csv')
new_data = data[22:44]
for index,rows in new_data.iterrows():
if(int(rows['GDP'])>50000):
print(f"在{rows['年份']}年突破50万亿。")
new_data.plot(x='年份',y='GDP',kind='bar',title='2000-2020年内生产总值')
plt.show()
from scipy.optimize import leastsq
df = pd.DataFrame(data)
year = np.array(df.年份)
gdp = np.array(df.GDP)
def func(params, x):
a, b, c = params
return a * x * x + b * x + c
def error(params, x, y):
return func(params, x) - y
def slovePara():
p0 = [10, 10, 10]
Para = leastsq(error, p0, args=(year, gdp))
return Para
def solution():
Para = slovePara()
a, b, c = Para[0]
print ("a=",a*(10**(-4))," b=",b*(10**(-4))," c=",c*(10**(-4)))
print("y="+str(a*(10**(-4)))+"x*x"+str(b*(10**(-4)))+"x+"+str(c*(10**(-4))))
plt.figure(figsize=(8,6))
plt.scatter(year, gdp, color="green", label="sample data", linewidth=2)
# 画拟合直线
x=np.linspace(1978,2020)
y=a*x*x+b*x+c ##函数式
plt.plot(x,y,color="red",label="solution line",linewidth=2)
plt.legend() #绘制图例
plt.show()
solution()
data = pd.read_csv('BeiJing_2016_HourlyPM25_created20170201.csv')
data.head()
data.drop_duplicates()
data.head()
data.describe()
def get_grade(value):
if value <= 50 and value>=0:
return 'Good'
elif value <= 100:
return 'Moderate'
elif value <= 150:
return 'Unhealthy for Sensi'
elif value <= 200:
return 'Unhealthy'
elif value <= 300:
return 'Hazardous'
elif value <= 500:
return 'Beyond Index'
else:
return None
data.loc[:,'Grade'] = data['Value'].apply(get_grade)
data.head()
count=0
for item,rows in data.iterrows():
if (rows['Value']>500):
count+=1
print("PM2.5>500有",count,"天")
df = pd.DataFrame([11,12,15,12,13,13,25,26,34,31,14,9,11,10,8,9,9,9,17,10,10,9,10,17],
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23])
df.plot()
plt.title('2016/1/1—24小时PM2.5趋势图')
plt.ylabel('PM2.5数值')
plt.xlabel('时间(小时)')
plt.show()
count=1
i=0
c = []
for itme in range(1,13):
a = data[data['Month'] == count].mean()
b = str(a['Value'])
c.append(b)
print(f"{itme}月PM2.5平均值:")
print(c[i])
i+=1
count +=1
df = pd.Series([72.14670255720054,43.959537572254334,93.12516823687753,66.5,55.24561403508772,59.008426966292134,60.07523939808482,38.72739541160594,51.59583333333333,82.09226594301221,104.7391910739191,144.62803234501348],
['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'])
df.astype(float)
df.plot(kind='bar',title='12月PM2.5平均值')
plt.show()

浙公网安备 33010602011771号