测试

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()

posted @ 2021-06-26 15:01  亚索666  阅读(39)  评论(0)    收藏  举报