一,单个函数
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)