作业-python常用库类 numpy+pandas
生活随笔
收集整理的這篇文章主要介紹了
作业-python常用库类 numpy+pandas
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# -*- coding:utf-8 -*-
# 1,一個四維的數組,以后兩維度為單位,計算它們的和,比如一個1*2*3*4的數組,合并后兩列,輸出合并后的軸的sum
# 實例,輸入:[[[[2 7 9 7] [6 6 8 2] [0 0 9 3]][[5 4 1 4][5 7 9 7] [8 4 1 4]] ]] 輸出[[59 59]]
# import numpy as np
# a=np.array([[[[2,7,9,7],[6,6,8,2],[0,0,9,3]],[[5,4,1,4],[5,7,9,7],[8,4,1,4]]]])
# b=a.reshape(2,12)
# c=np.array([[sum(b[0]),sum(b[1])]])
#
# print(c)
# 2,在數組[1,2,3,4,5]中相鄰兩個數字中間插入兩個0
# 輸入:[1.2.3.4.5.] 輸出[1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5]
# import numpy as np
# arr01=np.arange(1,6)
# arr02=np.zeros(17)
# arr02[::4]=arr01
# print(arr02)
# 3,二維矩陣與三維矩陣如何相乘?
# import numpy as np
# A=np.ones((3,3,2,))
# print(A)
# print('-'*50)
# B=np.zeros((3,3))
# B[::]=2
# print(B)
# print('-'*50)
#
# print(B.dot(A))
# 4,怎么交換矩陣的其中兩行?比如交換第一二行
# import numpy as np
# arr01=np.arange(0,25).reshape(5,5)
#
# print(arr01)
# print('-'*50)
#
# arr01[[0]],arr01[[1]]=arr01[[1]],[[0]]
#
# print(arr01)
# 5,創建一個10*10的數組,并且邊框是1,里面是0
# import numpy as np
# arr01=np.ones((10,10))
# arr01[1:9,1:9]=0
# print(arr01)
# 6,將數組s3中的A和dog替換成XXX;
# s3=pd.Series(['A','B','C','Aaba','Baca','',np.nan,'CABA','dog','cat'])
# import pandas as pd
# import numpy as np
# s3=pd.Series(np.array(['A','B','C','Aaba','Baca','',np.nan,'CABA','dog','cat']))
# s3[0]='XXX'
# s3[8]='XXX'
# print(s3)
# 7,pattern=r'[a-z][0-9]'
# s=pd.Series(['1','b2','3a','3b','c2c'])
# s.str.contains(pattern)
# 請在不運行代碼的狀態下,輸出以上代碼運行的結果.
# import pandas as pd
# import re
#
# pattern=r'[a-z][0-9]'
# s=pd.Series(['1','b2','3a','3b','c2c'])
# print(s.str.contains(pattern))
# 運行結果:
# 0 False
# 1 True
# 2 False
# 3 False
# 4 True
# dtype: bool
# 8,將附件中的數據導入DataFrame中,實現以下操作:
# 1,對異常數據(數值為0)進行值替換,替換為當前列的平均值;
# 2,對zwyx列的數據進行平均值統計,其他列做計數統計(提示使用value_counts());
# 3,得到zwmc字段的唯一值列表;
# 4,通過group函數,實現對于dd字段的分組,并按照城市計算每個城市的最大薪資,使用折線圖,顯示Top10城市(選做)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
ca=pd.read_csv('ca_list_copy(2).csv')
cas=ca.replace({0.0:ca['zwyx'].mean()})
print('zwyx:平均值:',ca['zwyx'].mean())
col=list(cas.columns)
col.remove('Id')
col.remove('zwyx')
new_df=pd.DataFrame()
for i in col:
result=cas[i].value_counts()
re=pd.DataFrame(result)
re.columns=['values']
new_df=pd.concat([new_df,re])
print(new_df)
only_value=list(cas['zwmc'].unique())
print('唯一值列表:%s'%only_value)
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
data=cas.groupby('dd')['zwyx'].max().sort_values(ascending=False).head(10)
data.index.name='地區'
print(data)
data.plot()
plt.show()
# 1,一個四維的數組,以后兩維度為單位,計算它們的和,比如一個1*2*3*4的數組,合并后兩列,輸出合并后的軸的sum
# 實例,輸入:[[[[2 7 9 7] [6 6 8 2] [0 0 9 3]][[5 4 1 4][5 7 9 7] [8 4 1 4]] ]] 輸出[[59 59]]
# import numpy as np
# a=np.array([[[[2,7,9,7],[6,6,8,2],[0,0,9,3]],[[5,4,1,4],[5,7,9,7],[8,4,1,4]]]])
# b=a.reshape(2,12)
# c=np.array([[sum(b[0]),sum(b[1])]])
#
# print(c)
# 2,在數組[1,2,3,4,5]中相鄰兩個數字中間插入兩個0
# 輸入:[1.2.3.4.5.] 輸出[1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5]
# import numpy as np
# arr01=np.arange(1,6)
# arr02=np.zeros(17)
# arr02[::4]=arr01
# print(arr02)
# 3,二維矩陣與三維矩陣如何相乘?
# import numpy as np
# A=np.ones((3,3,2,))
# print(A)
# print('-'*50)
# B=np.zeros((3,3))
# B[::]=2
# print(B)
# print('-'*50)
#
# print(B.dot(A))
# 4,怎么交換矩陣的其中兩行?比如交換第一二行
# import numpy as np
# arr01=np.arange(0,25).reshape(5,5)
#
# print(arr01)
# print('-'*50)
#
# arr01[[0]],arr01[[1]]=arr01[[1]],[[0]]
#
# print(arr01)
# 5,創建一個10*10的數組,并且邊框是1,里面是0
# import numpy as np
# arr01=np.ones((10,10))
# arr01[1:9,1:9]=0
# print(arr01)
# 6,將數組s3中的A和dog替換成XXX;
# s3=pd.Series(['A','B','C','Aaba','Baca','',np.nan,'CABA','dog','cat'])
# import pandas as pd
# import numpy as np
# s3=pd.Series(np.array(['A','B','C','Aaba','Baca','',np.nan,'CABA','dog','cat']))
# s3[0]='XXX'
# s3[8]='XXX'
# print(s3)
# 7,pattern=r'[a-z][0-9]'
# s=pd.Series(['1','b2','3a','3b','c2c'])
# s.str.contains(pattern)
# 請在不運行代碼的狀態下,輸出以上代碼運行的結果.
# import pandas as pd
# import re
#
# pattern=r'[a-z][0-9]'
# s=pd.Series(['1','b2','3a','3b','c2c'])
# print(s.str.contains(pattern))
# 運行結果:
# 0 False
# 1 True
# 2 False
# 3 False
# 4 True
# dtype: bool
# 8,將附件中的數據導入DataFrame中,實現以下操作:
# 1,對異常數據(數值為0)進行值替換,替換為當前列的平均值;
# 2,對zwyx列的數據進行平均值統計,其他列做計數統計(提示使用value_counts());
# 3,得到zwmc字段的唯一值列表;
# 4,通過group函數,實現對于dd字段的分組,并按照城市計算每個城市的最大薪資,使用折線圖,顯示Top10城市(選做)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
ca=pd.read_csv('ca_list_copy(2).csv')
cas=ca.replace({0.0:ca['zwyx'].mean()})
print('zwyx:平均值:',ca['zwyx'].mean())
col=list(cas.columns)
col.remove('Id')
col.remove('zwyx')
new_df=pd.DataFrame()
for i in col:
result=cas[i].value_counts()
re=pd.DataFrame(result)
re.columns=['values']
new_df=pd.concat([new_df,re])
print(new_df)
only_value=list(cas['zwmc'].unique())
print('唯一值列表:%s'%only_value)
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
data=cas.groupby('dd')['zwyx'].max().sort_values(ascending=False).head(10)
data.index.name='地區'
print(data)
data.plot()
plt.show()
轉載于:https://www.cnblogs.com/gwj23/p/10604448.html
總結
以上是生活随笔為你收集整理的作业-python常用库类 numpy+pandas的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pycharm体验
- 下一篇: python单行注释和多行注释