• pandas小结


    pandas part I:

    # 总结:

    • DataFrame.loc[0:5] 一共6行数据,而切片[0:5]只有5个数据
    • 在对df的行数据删除后,有些index已缺失,此时用 iloc[]来按照位置索引
    • 取指定行 food_info.loc[[2,5,10]],传入list
    • 取指定列 zinc_copper = food_info[["Zinc_(mg)", "Copper_(mg)"]]
    • 取指定后缀名的列:
    • col_names = food_info.columns.tolist()
    • gram_columns = []
    • for c in col_names:
    •   if c.endswith("(g)"):
    •     gram_columns.append(c)
    • food_info.sort_values("Sodium_(mg)", inplace=True)  #默认升序,可以用 ascending=False来降序

    pandas part II:

    • 根据age_is_null = titanic_survival["Age"].isnull(), 返回索引,
    • 根据索引的True,False,来获取null的集合: age_null_true = age[age_is_null]
    • 如果某列中有nan,任何运算结果都是nan
    • 取 good_ages = titanic_survival["Age"][age_is_null == False]
    • correct_mean_age = sum(good_ages) / len(good_ages)
    • 但是缺失数据的表很普遍,于是pandas用correct_mean_age = titanic_survival["Age"].mean()来解决nan问题
    • 按要求选取指定行:pclass_rows = titanic_survival[titanic_survival["Pclass"] == this_class]
    • 对指定行的某列进行运算: pclass_fares_mean = pclass_rows["Fare"].mean()
    • 数据透视表: 默认aggfunc为np.mean
    • passenger_survival = titanic_survival.pivot_table(index="Pclass", values="Survived", aggfunc=np.mean)
    • 多列透视表:values传入一个list
    • port_stats = titanic_survival.pivot_table(index="Embarked", values=["Fare","Survived"], aggfunc=np.sum)
    • 去掉有nan的列: titanic_survival.dropna(axis=1) #age canbin embark
    • 去掉指定列中有nan的行 : titanic_survival.dropna(axis=0,subset=["Age", "Sex"])
    • 取指定index行的某列的一个数据: titanic_survival.loc[83,"Age"]
    • 对所有列数据应用函数:
      def not_null_count(column):
        column_null = pd.isnull(column)
        null = column[column_null]
        return len(null)

      column_null_count = titanic_survival.apply(not_null_count)

    pandas part III:

    • 获取Series的值 fandango['FILM'].values
    • 取某一列为另一列的索引:series_custom = Series(fandango['RottenTomatoes'].values , index=fandango['FILM'].values)
    • 用series_name限制条件series_greater_than_50 = series_custom[series_custom > 50]
    • 取到所有列的类型:types = fandango_films.dtypes
    • types[types.values == 'float64'].index 本质上是从types 回到 索引上
    • deviations = fandango_films[float_columns].apply(lambda x: np.std(x)) 对所有float类型数据应用方差
    • groupby将一列中的元素进行分组,idxmax取出对应列group的最大索引位置,score_series=df.groupby("ID")["m_score"].idxmax()
    • df.groupby(df['class1'])['data1'] == df['data1'].groupby(df['class1']) 是一个整体,要取出数据,则.idxmax()等操作
    • df.groupby(df['class1'])['data1']  :   <pandas.core.groupby.SeriesGroupBy object at 0x000001F1CEDF0AC8>
  • 相关阅读:
    minlo 开源对象存储系统
    Oracle PDB的相关使用说明
    阿里云ECS虚拟机磁盘扩容过程
    CentOS firewall简单总结
    Redis 的简单学习与整理
    【Python】psutil系统信息获取 规格严格
    rsyslog和logrotate的使用 规格严格
    myisamchk: error: 140 when opening MyISAMtable 规格严格
    查看文件的时候报错input.output error 规格严格
    NLP材料的一些笔记
  • 原文地址:https://www.cnblogs.com/the-wolf-sky/p/10536737.html
Copyright © 2020-2023  润新知