DataFrame基本操作

import pandas as pd
import numpy as np
pd.options.display.max_columns = 40
movie = pd.read_csv('data/movie.csv')
two_cloumn = movie[['序号', '名称']]        #选取多个DataFrame列
movie[['序号']].head()                      #选取一个DataFrame列

cols=['序号','名称']
two_cloumn=movie[cols]                      #赋值给一个列表,便于多选

type(movie[['序号']])                       #<class 'pandas.core.frame.DataFrame'>
type(movie['序号'])                         #<class 'pandas.core.series.Series'>

movie.select_dtypes(include=['int64'])      #使用select_dtypes(),选取整数列
movie.select_dtypes(include=['number'])     #选取所有的数值列

movie.filter(like='序号').head()            #通过filter()函数过滤选取多列
movie.filter(regex='\D').head()             #通过正则表达式选取多列
movie.filter(items=['序号', '名称']).head() # filter()函数,传递列表到参数items,选取多列

new_column=['名称','序号']
movie2 = movie[new_column]                  #重新进行列排序


movie.shape                                 #打印(行数,列数)
movie.size                                  #打印数据个数
movie.ndim                                  #打印数据的维数
len(movie)                                  #打印数据的长度,多少行
movie.count()                               #打印各个列的个数
movie.min()                                 #打印各个列的最小值
movie.min(skipna=False)                     #设定skipna=False,没有缺失值的数值列才会计算结果
movie.describe()                            #打印各个列的描述信息   
movie.describe(percentiles=[.01, .3, .99])  #使用percentiles参数指定分位数
movie.isnull().sum()                        #各列空值的个数



movie.isnull().head()                       #使用isnull方法将每个值转变为布尔值
movie.isnull().sum().head()                 #使用sum统计布尔值,返回的是Series
movie.isnull().sum().sum()                  #对这个Series再使用sum,返回整个DataFrame的缺失值的个数,返回值是个标量
movie.isnull().any().any()                  #判断整个DataFrame有没有缺失值,方法是连着使用两个any


movie[['memo']].max()                       #movie数据集的对象数据包含缺失值。
                                            #默认条件下,聚合方法min、max、sum,不会返回任何值
movie.select_dtypes(['object']).fillna('').max()        #要让pandas强行返回每列的值,必须填入缺失值。下面填入的是空字符串



movie = pd.read_csv('data/movie.csv')
# movie + 5                                     #  college数据集的值既有数值也有对象,整数5不能与字符串相加

(movie.filter(like='序号')+0.00001).round(2)    #   保留2位小数

np.nan == np.nan                                #  Pandas使用NumPy NaN(np.nan)对象表示缺失值。这是一个不等于自身的特殊对象:
None == None                                    #  Python的None对象是等于自身的
5 > np.nan                                      #  所有和np.nan的比较都返回False,除了不等于:

movie.count()                                   #  返回每列非缺失值的个数
movie.count(axis=0)                             #  axis默认设为0
movie.count(axis='index')                       #  等价于axis='index'
movie.count(axis='columns')                     #  统计每行的非缺失值个数

movie.sum(axis='columns').head()                        # 统计每行的非缺失值求和
movie.sum(axis='index').sort_values(ascending=False)    #排序,从大到小

movie.median(axis='index')                      #  统计每列的非缺失值中位数
posted @ 2022-02-21 11:57  wuyuan2011woaini  阅读(126)  评论(0编辑  收藏  举报