81.导入并查看pandas与numpy版本
import pandas as pd
import numpy as np
print(np.__version__)
print(pd.__version__)
82.从NumPy数组创建DataFrame
#随机数
temp_1 = np.random.randint(1,100,20)
df1 = pd.DataFrame(temp_1)
df1
83.从NumPy数组创建DataFrame
#固定步长数
temp_2 = np.arange(0,100,5)
df2 = pd.DataFrame(temp_2)
df2
84.从NumPy数组创建DataFrame
#指定分布(如标准正态分布)数
temp_3 = np.random.normal(0,1,20)
df3 = pd.DataFrame(temp_3)
df3
np.random.normal(loc=0.0, scale=1.0, size=None)
生成高斯分布的概率密度随机数
loc:float
此概率分布的均值(对应着整个分布的中心centre)
scale:float
此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)
size:int or tuple of ints
输出的shape,默认为None,只输出一个值
85.将df1,df2,df3按照行合并为新DataFrame
data = pd.concat([df1,df2,df3],axis=0,ignore_index=True)
data
86.将df1,df2,df3按照列合并为新DataFrame
data = pd.concat([df1,df2,df3],axis=1,ignore_index=True)
data
pd.concat(ignore_index=True)
无视合并前的index,合并后生成新index
87.查看df所有数据的最小值、25%分位数、中位数、75%分位数、最大值
#data.describe() 按列出现分布数据,不符题意
print(np.percentile(data,q=[0,25,50,75,100]))
out:
[-2.05672901 0.49945704 20.5 61.25 99. ]
np.percentile(a, q, axis=None, out=None, overwrite_input=False, interpolation='linear', keepdims=False)
a:array_like,计算分位数的对象,可以是多维数组
q:float,计算分位数值,计算多个分位树值时使用列表
https://numpy.org/doc/stable/reference/generated/numpy.percentile.html
88.修改列名为col1,col2,col3
data.columns=['col1','col2','col3']
89.提取第一列中不在第二列出现的数字
data