风速练习(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 = https://www.it610.com/article/pd.read_csv("data.csv", sep = "\s+") data.head()

【风速练习(parse_dates参数、apply()、isnull().sum()、.mean().mean())】风速练习(parse_dates参数、apply()、isnull().sum()、.mean().mean())
文章图片

利用parse_dates将前三列合并为一列,指定为新的日期列:
data = https://www.it610.com/article/pd.read_csv("data.csv", sep = "\s+", parse_dates = [[0,1,2]]) data.head()

风速练习(parse_dates参数、apply()、isnull().sum()、.mean().mean())
文章图片

二. 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 = https://www.it610.com/article/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())
文章图片

date.mean().mean()

    推荐阅读