一,單個函數
max、min、idxmin、idxmax、mean、std
import pandas as pd
import numpy as np
day_data = np.random.normal(0,1,(500,507))
stock_list = ["股票"+ str(i) for i in range(day_data.shape[0])]
date = ["第"+ str(i)+"天" for i in range(day_data.shape[1])]
df = pd.DataFrame(day_data,index=stock_list,columns=date)
# 1,max()、min() 使用max()求出最大值、最小值
# 求出某個指定列(字段)的最大值、最小值
# print(df["第0天"].max())
# 求出所有行的的最大值、最小值
# print(df.max(1))
# 求出所有列的的最大值、最小值
# print(df.min(0))
# 2,idxmax()、idxmin() 求出最大值的索引位置、最小值的索引位置
# 求出某個指定列(字段)的最大值的索引位置、最小值的索引位置
# print(df["第0天"].idxmax())
# 求出左右行的的最大值的索引位置、最小值的索引位置
# print(df.idxmax(1))
# 求出左右列的的最大值的索引位置、最小值的索引位置
# print(df.idxmin(0))
# 3,mean() 求出平均值
# 獲得一維數組平均值
# print(df['第0天'].mean())
# 獲得所有列的平均值
# print(df.mean())
# 獲得所有行的平均值
# print(df.mean(1))
# 4,std() 求出標準差
# 獲得某一列的標準差
# print(df['第0天'].std())、
# 獲得所有列的標準差
# print(df.std())
# 獲得所有行的標準差
# print(df.std(1))
二,累計統計分析函數
cumsum、cummax、cummin、cumprod
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
day_data = np.random.normal(0,1,(500,507))
stock_list = ["股票"+ str(i) for i in range(day_data.shape[0])]
date = ["第"+ str(i)+"天" for i in range(day_data.shape[1])]
df = pd.DataFrame(day_data,index=stock_list,columns=date)
# 1,cumsum()計算每列所有行的累計和
# print(df.cumsum(0))
# 計算每行所有列的累計和
# print(df.cumsum(1))
# 2,cummax()計算每列所有行的累計最大值
# print(df.第1天.cummax())
# 3,cummin()計算每列所有行的累計最小值
# print(df.第1天.cummin())
# 4,cumprod()計算每列所有行的累計乘積
# print(df.第1天.cumprod())
# 5,使用numpy和matplotlib.pyplot繪製圖形
# 集成了直方圖、條形圖、餅圖、折線圖
df.第1天.cumsum().plot()
plt.show()
三,dataframe數據去重
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
day_data = np.random.normal(0,1,(500,507))
stock_list = ["股票"+ str(i) for i in range(day_data.shape[0])]
date = ["第"+ str(i)+"天" for i in range(day_data.shape[1])]
df = pd.DataFrame(day_data,index=stock_list,columns=date)
# 獲得一維數組絕對不重複個數(第一種方法)
# print(len(set(df['第1天'].tolist())))
# 獲得一維數組絕對不重複個數(第二種方法)
print(len(df.第1天.unique()))
四,返回index的唯一值
df.set_index(“country”).index.unique()
import numpy as np
import pandas as pd
day_data = np.random.normal(0,1,(500,507))
day_data1 = pd.DataFrame(day_data)
stock_list = ["股票"+ str(i) for i in range(day_data.shape[0])]
date = ["第"+ str(i)+"天" for i in range(day_data.shape[1])]
day_data1 = pd.DataFrame(day_data,index=stock_list,columns=date)
# 返回index的唯一值
# day_data1 = len(day_data1.set_index("第0天").index.unique())
# 返回dataframe任意一列數據的唯一值
# day_data1 = len(day_data1.第0天.unique())
# 返回dataframe數據的唯一值
day_data1 = len(np.unique(np.array(day_data1)))
print(day_data1)