pandas

作者: Quick_5413 | 来源:发表于2023-11-08 17:02 被阅读0次

    1、series
    pandas.Series( data, index, dtype, name, copy)
    data:一组数据(ndarray 类型)。
    index:数据索引标签,如果不指定,默认从 0 开始。如果data是字典,则以key为索引。
    dtype:数据类型,默认会自己判断。
    name:设置名称。
    copy:拷贝数据,默认为 False。

    2、dataframe
    pandas.DataFrame( data, index, columns, dtype, copy)
    data:一组数据(ndarray、series, map, lists, dict 等类型)。
    index:索引值,或者可以称为行标签。
    columns:列标签,默认为 RangeIndex (0, 1, 2, …, n) 。
    dtype:数据类型。
    copy:拷贝数据,默认为 False。
    Pandas 可以使用 loc 属性返回指定行的数据,如果没有设置索引,第一行索引为 0,第二行索引为 1,以此类推.

    3、数据清洗
    删除空值:
    DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
    axis:默认为 0,表示逢空值剔除整行,如果设置参数 axis=1 表示逢空值去掉整列。
    how:默认为 'any' 如果一行(或一列)里任何一个数据有出现 NA 就去掉整行,如果设置 how='all' 一行(或列)都是 NA 才去掉这整行。
    thresh:设置需要多少非空值的数据才可以保留下来的。
    subset:设置想要检查的列。如果是多个列,可以使用列名的 list 作为参数。
    inplace:如果设置 True,将计算得到的值直接覆盖之前的值并返回 None,修改的是源数据。

    替换空值:
    fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
    value:用于填充的空值的值。
    method: {'backfill', 'bfill', 'pad', 'ffill', None}, default None。定义了填充空值的方法, pad / ffill表示用前面行/列的值,填充当前行/列的空值, backfill / bfill表示用后面行/列的值,填充当前行/列的空值。
    axis:轴。0或'index',表示按行删除;1或'columns',表示按列删除。
    inplace:是否原地替换。布尔值,默认为False。如果为True,则在原DataFrame上进行操作,返回值为None。
    limit:int, default None。如果method被指定,对于连续的空值,这段连续区域,最多填充前 limit 个空值(如果存在多段连续区域,每段最多填充前 limit 个空值)。如果method未被指定, 在该axis下,最多填充前 limit 个空值(不论空值连续区间是否间断)
    downcast:dict, default is None,字典中的项为,为类型向下转换规则。或者为字符串“infer”,此时会在合适的等价类型之间进行向下转换,比如float64 to int64 if possible。

    Pandas使用 mean()、median() 和 mode() 方法计算列的均值(所有值加起来的平均值)、中位数值(排序后排在中间的数)和众数(出现频率最高的数)。

    例如:
    利用新值'new_v'替换所有空值:
    df.fillna('new_v', inplace = True)

    利用均值填充空值:
    x = df['colname'].mean()
    df['colname'].fillna(x, inplace = True)

    4、常用函数
    pd.read_csv(filename) 读取 CSV 文件;
    pd.read_excel(filename) 读取 Excel 文件;
    pd.read_sql(query, connection_object) 从 SQL 数据库读取数据;
    pd.read_json(json_string) 从 JSON 字符串中读取数据;
    pd.read_html(url) 从 HTML 页面中读取数据。

    df.head(n) 显示前 n 行数据;
    df.tail(n) 显示后 n 行数据;
    df.info() 显示数据的信息,包括列名、数据类型、缺失值等;
    df.describe() 显示数据的基本统计信息,包括均值、方差、最大值、最小值等;
    df.shape 显示数据的行数和列数。

    df.dropna() 删除包含缺失值的行或列;inplace=True表示在源表中删除。
    df.fillna(value) 将缺失值替换为指定的值;
    df.replace(old_value, new_value) 将指定值替换为新值;
    df.duplicated() 检查是否有重复的数据;
    df.drop_duplicates() 删除重复的数据。

    df[column_name] 选择指定的列;
    df.loc[row_index, column_name] 通过标签选择数据;
    df.iloc[row_index, column_index] 通过位置选择数据;
    df.ix[row_index, column_name] 通过标签或位置选择数据;
    df.filter(items=[column_name1, column_name2]) 选择指定的列;
    df.filter(regex='regex') 选择列名匹配正则表达式的列;
    df.sample(n) 随机选择 n 行数据。

    df.sort_values(column_name) 按照指定列的值排序;
    df.sort_values([column_name1, column_name2], ascending=[True, False]) 按照多个列的值排序;
    df.sort_index() 按照索引排序。

    df.groupby(column_name) 按照指定列进行分组;
    df.aggregate(function_name) 对分组后的数据进行聚合操作;
    df.pivot_table(values, index, columns, aggfunc) 生成透视表。

    pd.concat([df1, df2]) 将多个数据框按照行或列进行合并;
    pd.merge(df1, df2, on=column_name) 按照指定列将两个数据框进行合并。

    相关文章

      网友评论

          本文标题:pandas

          本文链接:https://www.haomeiwen.com/subject/nmmqwdtx.html