美文网首页
python 大数据整理基本语句

python 大数据整理基本语句

作者: Liping7 | 来源:发表于2019-04-08 11:20 被阅读0次

    主要是参考博客园 Little_Rookie 像Excel一样使用python进行数据分析

    https://www.cnblogs.com/nxld/p/6756492.html

    在这个基础上筛选补充了常用的一些函数,并增加说明。

    1.导入相关的库

    import numpy as np

    import pandas as pd

    2.读取数据文件

    df=pd.DataFrame(pd.read_csv('name.csv',header=1)) #读取csv

    df=pd.DataFrame(pd.read_excel('name.xlsx')) #读取excel

    3.列命名

    df.columns = ["a","b"]

    df.rename(columns=('$a': 'a', '$b': 'b', '$c': 'c', '$d': 'd', '$e': 'e'}, inplace=True)

    #就是把$a列改为b列

    4.数据描述

    df.shape()了解数据有几行几列

    df.info() #帮助了解数据文件本身

    df.head(3) #前10列

    df.tail(3) #后10列

    df.dtypes #帮助你了解dataframe里面有的数据类型

    df.isnull() #帮助你了解数据空值

    df['price'].isnull() #了解某一列空值

    df.set_index('id') #设置索引列

    5.数据类型转换

    df['price'].astype('int')

    df['col'].astype('str')

    6.增删改列

    删除某列

    del df['B']

    插入/增加列

    col_name = list(data.columns) # 列出data所有列

    col_name.insert(5,'seconds')# 在5这个位置插入seconds列

    cy2=cy2.reindex(columns = col_name,fill_value = 0) 

    调整列次序

    order1 = [ 'b', 'etime', 'ltime', 'seconds', 'today', 'ehour'] #list列出你想要的顺序

     df = df[order]

    7.空值填充

    df.dropna(how='any') #删除数据表中含有空值的行

    df.fillna(value=0) #空值填充为0

    df['price'].fillna(df['price'].mean() #price这一列的空值填充为这一列的均值

    8.排序

    df.sort_values(by=['age'],ascending=False)   #按照age列降序排序

    df.sort_index(axis=1,ascending=False)  #按照列索引降序排序

    9.取某些列或者行

    df.ix[1] #取第2行数据

    df.iloc[1] #取第2行数据

    df['brand']      #取列索引为brnd的一列数据

    df.loc['A']      #取行索引为”A“的一行数据

    df.loc[['A','B'],['x','z']]    #表示选取'A'和'B'这两行以及columns为x,z的列

    df.iloc[1:3,1:3]          #数据切片操作,切连续的数据块

    df.iloc[[0,2],[1,2]]      #取出需要的某几行X某及列

    df[df>0]      #表示选取数据集中大于0的数据

    df[df.x>5]      #表示选取x这一列大于5的所有的行

    10.横向合并行或者纵向合并两个dataframe

    pd.concat([df1,df2],axis=0) 

    #合并axis=0纵向按照同索引合并,axis=1纵向合并

    11.列运算

    df['city'].unique()  #取某列的唯一值

    df['city'].replace('sh', 'shanghai') #把city这一列的sh替换为shanghai

    df['col']=df['col1']+df['col2'] #某列等于某两列之和

    12.筛选数据

    df.loc[(df_inner['age'] > 25) | (df['city'] == 'beijing'), ['id','city','age','category','gender']].sort(['age'])

    13.两组数据求交集

    df_inner=pd.merge(df,df1,how='inner',on='key')

    df_left=pd.merge(df,df1,how='left',on='key')

    df_right=pd.merge(df,df1,how='right',on='key')

    df_outer=pd.merge(df,df1,how='outer')

    14.数据分组并标记

    这个经常是数据分析建模之前的预处理

    df['group'] = np.where(df['price'] > 3000,'high','low')

    #如果price列的值>3000,group列显示high,否则显示low

    df.loc[(df_inner['city'] == 'beijing') & (df_inner['price'] >= 4000), 'sign']=1

    #对符合多个条件的数据进行分组标记

    15.文本拆分列

    df['ed']=df['etime'].map(lambda x:x.split(" ")[0])
     #etime按照空格拆分的第1列变成ed这一列

    df['ehour']=df['etime'].map(lambda x:x.split(" ")[1])

     #etime按照空格拆分的第2列变成ehour这一列

    文本合并列直接把列相加即可

    16.数据输出

    df.to_csv('excel_to_python.csv')

    相关文章

      网友评论

          本文标题:python 大数据整理基本语句

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