美文网首页pythoner
python数据处理——pandas的基本使用(一)

python数据处理——pandas的基本使用(一)

作者: 小张Python | 来源:发表于2020-02-15 21:16 被阅读0次
    1.1 文本读取,pd.read_csv(),pd.read_table();

    pandas 读取文本(txt、excel)中会常用到两个函数:read_csv() 和 read_table() ;两个函数出去读取文本不一样之外,读取文本时前者是以,(逗号)为分隔符读取,后者以 tab(空格)为 分隔符进行读取的,把读取到的文本转化成二维 Dataframe 数据格式,直观整洁以便后续处理,以 pd.read_table()为例:

    pd.read_table()用到的参数有:

    Snipaste_2020-02-10_16-20-30.jpg

    里面参数很多,但常用到的下面几个

    • filepath,欲读取的txt、csv文件、网页内容;

    • seq ,分割符来对字符串进行表格划分,一般来说 read_table()默认的为 tab(空格)read_csv() 默认为,(逗号),可以根据具体情况自己设置;

    • usercols,可以设置提取自己需要的列名;

    下面就是一个url网址内容,文本之间以 Tab键 作为分隔符:

    Snipaste_2020-02-10_16-32-39.jpg

    利用 pandas 对里面的内容进行读取,展示如下:

    url ='http://bit.ly/chiporders'
    
    df1 =pd.read_table(url)
    # 读取前5行数据
    df1.head()
    
    Snipaste_2020-02-10_16-43-46.jpg
    # usecols 参数作为选取特定的列;
    df = pd.read_table(url,usecols = ['order_id','item_price'])
    df.head()
    
    Snipaste_2020-02-10_16-55-03.jpg
    不设置第一行为列名
    #header默认为0,即以第一列为列名,这里设为None,意味不设置第一行为列名;
    df11 = pd.read_table(url,header =None)
    df11.head()
    
    Snipaste_2020-02-10_16-55-11.jpg
    1.2 读取时用names修改列名
    #names =***,可以自定义设置列名
    user_cols = ['id','quantity','name','choice','price']
    df= pd.read_table(url,header =None,names = user_cols)
    df.head()
    
    Snipaste_2020-02-10_20-53-36.jpg
    1.3 用describe()函数对描述大致数据
    #对整个Dataframe各列做个基本统计;
    # count:数
    # unique: 总体分为3类;
    # top:频率最高的value;
    # freq:出现频率最高的次数;
    df.describe()
    
    Snipaste_2020-02-10_21-05-28.jpg
    1.4 shape函数返回二维数据的列数、行数
    df.shape#查看Dataframe的整体数据
    
    Snipaste_2020-02-10_21-05-56.jpg
    1.5 读取到的 Dataframe 每一列数据类型为Series;
    #列出某一列的数据,为一个series数据
    df['name']#也可以df.name
    print(type(df['name']))
    
    Snipaste_2020-02-10_21-06-10.jpg
    1.6 处理数据中时利用columns改变列名:
    #在Dataframe数据中更改列名,在每个列名后面加一个‘_’;
    df.columns = [str(i)+'_' for i in df.columns]
    df
    
    Snipaste_2020-02-10_21-06-24.jpg
    1.7 利用drop函数删除特定的列;
    #pd.DataFrame去除某一列,用到的函数drop,
    #  第一个参数为单个标签或多个标签;
    #  axis表示欲删除的为行或者列,0为行,1为列;
    #  inplace =True,以及操作
    df1 =df
    df1.drop(['name_','choice_'],axis = 1,inplace = True)
    df1.head()
    
    Snipaste_2020-02-10_21-06-35.jpg
    1.8 利用map函数对列中数据格式进行变换;
    #对某一列数据进行修改;把price_中的$变成¥;利用lambda映射;
    df['price_'] = df['price_'].map(lambda x:str(x).replace('$','¥'))
    df
    
    Snipaste_2020-02-10_21-06-48.jpg
    1.9 to_csv将 Dataframe数据直接写到csv文件中;
    #将 Dataframe写出csv文件,
    # 第一个参数描述欲输出的文件名,若提供的为None,则返回的是string;
    # index表示行索引,默认为True,
    #   header = True表示的是不保存列名。
    # encoding  = 'gbk',输入编码方式为gbk
    df.to_csv('E:/ceshi/ab.csv',index =False,header =True,encoding = 'gbk')
    
    Snipaste_2020-02-10_21-17-50.jpg

    注:上面的代码运行都是在jupyter notebook编辑器上进行的!

    相关文章

      网友评论

        本文标题:python数据处理——pandas的基本使用(一)

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