美文网首页
Python Pandas Dataframe 的基本操作

Python Pandas Dataframe 的基本操作

作者: 沐凡365 | 来源:发表于2019-04-27 16:12 被阅读0次
    1. 数据洞察
    df.shape  #查看数据维度 
    df.info()  #查看数据信息
    df.dtypes  df['B'].dtype  df.B.dtype  #查看列的数据类型
    df.isnull()    df['B'].isnull()  df.B.isnull()  #空值检查
    df['B'].unique()  #查看列中的唯一值
    df.values  #查看数据值
    df.columns  #查看各列的名称
    df.head()    df.head(10)  #查看前N行数据
    df.tail()  df.tail(10)  #查看后N行数据
    
    1. 数据清洗
    df.dropna(how = 'any')  #删除含有空值的行
    df.fillna(value = 0)  #用0来填充空值
    df['B'].fillna(df['B'].mean())  #使用列均值来填充
    df['B']=df['B'].map(str.strip)  #删除前后空格
    df['B']=df['B'].str.lower()  df['B']=df['B'].str.upper()  #大小写转化
    df['B'].astype('int')  #数据类型转换
    df.rename(columns={'B': 'B1'})  #列的重命名
    df['B'].drop_duplicates()  df['B'].drop_duplicates(keep='last')  #去除重复项
    df['B'].replace('value1', 'value2')  #数据值的替换
    
    1. 数据预处理
    df = pd.merge(df1,df2,how='inner')  #类似excel中的vlookup,SQL中的join how(inner,left,right,outer)
    df.set_index('id')  #设置索引列
    df.sort_index()  #按索引列排序
    df.sort_values(by=['B'])  #按特定的列的值排序
    df['G'] = np.where(df['B'] > 10,'type_a','type_b')  #计算列,如果B列的值>10,G列显示type_a,否则显示type_b
    df.loc[(df['B'] == 'xxx') & (df['C'] >= 10), 'flag']='tag'  #计算列,多条件判断派生新列
    df1=pd.DataFrame((x.split('-') for x in df['B']),index=df.index,columns=['B1','B2'])
    df=pd.merge(df,df1,right_index=True, left_index=True)  #按特定字符对列数据进行分割,分割后与原数据合并
    
    1. 数据获取
    #loc 按标签值获取
    #iloc 按位置获取
    #ix 可同时按标签值和位置进行获取
    df.loc[2]  df.loc[0:5]
    df.iloc[1:2,3:4]  df.iloc[:3,:2]
    df.iloc[[1,3,5],[2,4,6]]
    df.loc[df['B'].isin(['x','xx'])]  #按条件获取数据
    
    1. 数据筛选
    df.loc[(df['B'] > 10) & (df['C'] == 'xx'), ['A','B','C','D','E']]
    df.loc[(df['B'] > 10) | (df['C'] == 'xx'), ['A','B','C','D','E']]
    df.loc[(df['B'] > 10) & (df['C'] == 'xx'), ['A','B','C','D','E']].sort(['A','E'])
    df.loc[(df['B'] > 10) & (df['C'] == 'xx'), ['A','B','C','D','E']].D.sum()
    df.query('B== ["xx", "xxx"]')
    df.query('B== ["xx", "xxx"]').D.sum()
    

    6.数据汇总

    df.groupby('B').count()
    df.groupby('B')['C'].count()
    df.groupby(['B','E'])['C'].count()
    df.groupby(['B','E'])['C'].agg([np.sum,np.mean,len])
    pd.pivot_table(df,index=['A'],values=['B'],columns=['C'],aggfunc=[len,np.sum],fill_value=0,margins=True)
    
    1. 数据输出
    df.to_excel('filename.xlsx', sheet_name='sheet1')
    df.to_csv('filename.csv')
    

    相关文章

      网友评论

          本文标题:Python Pandas Dataframe 的基本操作

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