2021-12-20Pandas:Datafram

pandas——Datafram 基本操作方法 

https://www.jianshu.com/p/c4266e14ecbe

https://zhuanlan.zhihu.com/p/258097637

Datarame表示一个表格,类似电子表格的数据结构,包含一个经过排序的列表集。在底层是一个或多个二维数组,而不是一维的数组(列表,字典)。


方法1:直接生成Datafram

df=pd.DataFrame([[1,2,3],[2,2,2]],index=['a','b'], columns=['e','f'])

方法2:字典转化为Datafram

dic1={'name':['小明','小红'],'age':[17,20],'gender':['男','女']}

df=pd.DataFrame(dic1)

方法3:读取txt/excel文件输出Datafram

df = pd.read_excel(“file_name.xlsx”)

方法4:从矩阵A转化为Datafram

df= pd.DataFrame.from_records(A,columns=name) 


获取行列名称 

df.index    行名称

df.columns  列名称

df._info_axis_    列名称


获取 行高、列高

df.shape  行、列高度

df.index.size    行高

df.columns.size  列高

len(df) 输出的是行高


取行

df.loc['A']取名为'A'的行(取单行后是Series,有index而无columns,可以用name来获取单列索引)

df[0:2]取索引对应的行 

df.head(4)取头四行

df.tail(3)取尾三行

df.iloc[1] 绝对索引第一行 


取列  

 df['x'] ,格式为series    

df[['x']] 格式为Dataframe ,取出来的是array而不是series 

df[['w','z']]  格式为Dataframe 


切片,  

df[df.columns[0:3]] 按照索引位置来取列,先用索引取列名,再用列名取列

df['name'].values 取列名为'name'的列的值(取出来的是array而不是series)取单行后是一个Series,Series有index而无columns,可以用name来获取单列的索引

df.iloc[1,1] 根据绝对索引来取值

df.iloc[0:3, [0,1]]

df.loc[:,['x','z'] ] #表示选取所有的行以及columns为x,z的列


替换与删除,去除nan值

拼接  拆分,插入行/列

计算   排序,sum默认对每列求和,两个series可以直接进行加减乘除计算 

显示  最大行数和列数,单元格内容对齐

多重索引

https://www.jianshu.com/p/c4266e14ecbe


获取各个列分别占用的内存

可以使用 DataFrame 类型的 memory_usage(deep=True)



numpy产生随机数的函数 

numpy.random.randn(d0, d1, …, dn)   产生N维矩阵, 从标准正态分布中返回一个或多个样本值。

实例:  np.random.rand(3,3) 建立一个3x3的矩阵 ,随机数


numpy.random.rand(d0, d1, …, dn)     产生N维矩阵, 随机样本位于[0, 1)中。

实例:  np.random.randn(3,3)    建立一个3x3的矩阵  ,正态分布的随机数 






https://blog.csdn.net/r6Auo52bK/article/details/80267718  






你可能感兴趣的:(2021-12-20Pandas:Datafram)