风速练习(parse_dates参数、apply()、isnull().sum()、.mean().mean())

一. pd.read_csv()中的参数parse_dates:

parse_dates: 布尔值、由整数、名字、数列构成的数列、也可以为字典。(boolean or list of ints or names or list of lists or dict, default False)
意义:指定将某些列作为时间索引

  • boolean. True -> 解析索引
  • list of ints or names. e.g. If [1, 2, 3] -> 解析1,2,3列的值作为独立的日期列;
  • list of lists. e.g. If [[1, 3]] -> 合并1,3列作为一个日期列使用
  • dict, e.g. {‘foo’ : [1, 3]} -> 将1,3列合并,并给合并后的列起名为"foo"

read_csv参数详解

data = pd.read_csv("data.csv", sep = "\s+") 
data.head()

风速练习(parse_dates参数、apply()、isnull().sum()、.mean().mean())_第1张图片

利用parse_dates将前三列合并为一列,指定为新的日期列:

data = pd.read_csv("data.csv", sep = "\s+", parse_dates = [[0,1,2]]) 
data.head()

风速练习(parse_dates参数、apply()、isnull().sum()、.mean().mean())_第2张图片

二. datetime.date()和.apply(function)
  • 创建函数,将Yr_Mo_Dy列中的20xx改为19xx
def fix_century(x):
     if x.year > 2000:
          year = x.year - 100
     else: 
          year = x.year
     return datetime.date(year, x.month, x.day)

data['Yr_Mo_Dy'] = data['Yr_Mo_Dy'].apply(fix_century)

datetime.date():创建date对象

三. pd.to_datetime()
  • 将时间列的数据格式改为pandas的datetimeindex格式,再将此列设为表格的行
# transform Yr_Mo_Dy it to date type datetime64
data["Yr_Mo_Dy"] = pd.to_datetime(data["Yr_Mo_Dy"])

# set 'Yr_Mo_Dy' as the index
data = data.set_index('Yr_Mo_Dy')

data.head()
四. isnull().sum()
  • 求每一列对应的缺失值总数:
    pandas中的缺失值函数isnull()
    isnull()直接返回布尔值:缺失值-True;不缺失-False
    isnull().any():判断哪些列包含缺失值
    isnull().sum(): 生成每一列缺失值的总数
data.isnull().sum()
五. .mean().mean()
  • 对于全体数据求风速的平均值:

.mean(): 对dataframe的每一列求平均值,输出的df行名= 原列名,对应数据为计算的平均值;二次求mean(),则输出每一列数据的平均值,即为所有数据的平均值
e.g.: 风速练习(parse_dates参数、apply()、isnull().sum()、.mean().mean())_第3张图片

date.mean().mean()

你可能感兴趣的:(pandas基础练习)