• 16-numpy笔记-莫烦pandas-4


    代码

    import pandas as pd
    import numpy as np
    
    dates = pd.date_range('20130101', periods=6)
    df=pd.DataFrame(np.arange(24).reshape((6,4)),index=dates, columns=['A','B','C','D'])
    
    # 行数,列数,赋值
    df.iloc[0,1] = np.nan
    df.iloc[1,2] = np.nan
    
    # 以行丢掉
    print('-1-')
    print(df.dropna(axis=0))
    
    # 有nan就丢 这是默认情况
    print('-2-')
    print(df.dropna(axis=0, how='any'))
    
    # 全是nan再丢
    print('-3-')
    print(df.dropna(axis=0, how='all'))
    
    # 填上
    print('-4-')
    print(df.fillna(value=0))
    
    # 判断每个的结果
    print('-5-')
    print(df.isnull())
    
    # 整体内是不是有null
    print('-6-')
    print(np.any(df.isnull()) == True)
    
    # 读取保存数据 read_csv to_csv
    df1 = pd.DataFrame(np.ones((3,4))*0,columns=['a','b','c','d'])
    df2 = pd.DataFrame(np.ones((3,4))*1,columns=['a','b','c','d'])
    df3 = pd.DataFrame(np.ones((3,4))*2,columns=['a','b','c','d'])
    
    print('-7-')
    print(df1)
    print(df2)
    print(df3)
    
    # axis=0 竖向合并
    res = pd.concat([df1,df2,df3], axis=0)
    print('-8-')
    print(res)
    
    res = pd.concat([df1,df2,df3], axis=0, ignore_index=True)
    print('-9-')
    print(res)
    
    
    df1 = pd.DataFrame(np.ones((3,4))*0,columns=['a','b','c','d'],index=[1,2,3])
    df2 = pd.DataFrame(np.ones((3,4))*1,columns=['b','c','d','e'],index=[2,3,4])
    print('-10-')
    print(df1)
    print(df2)
    
    # 组合模式
    res = pd.concat([df1,df2])
    print('-11-')
    print(res)
    # defalut 并集
    res = pd.concat([df1,df2], join='outer')
    print('-12-')
    print(res)
    # 交集
    res = pd.concat([df1,df2], join='inner')
    print('-13-')
    print(res)
    
    res = pd.concat([df1,df2], join='inner', ignore_index=True)
    print('-14-')
    print(res)
    
    # axis=1 左右合并 只考虑df1的index
    res = pd.concat([df1,df2], axis=1,join_axes=[df1.index])
    print('-15-')
    print(res)
    
    # axis=1 左右合并
    res = pd.concat([df1,df2], axis=1)
    print('-16-')
    print(res)
    
    df1 = pd.DataFrame(np.ones((3,4))*0,columns=['a','b','c','d'])
    df2 = pd.DataFrame(np.ones((3,4))*1,columns=['a','b','c','d'])
    df3 = pd.DataFrame(np.ones((3,4))*2,columns=['b','c','d','e'],index=[2,3,4])
    
    res = df1.append(df2, ignore_index=True)
    print('-17-')
    print(res)
    
    res = df1.append([df2, df3], ignore_index=True)
    print('-18-')
    print(res)
    
    s1 = pd.Series([1,2,3,4], index=['a','b','c','d'])
    res = df1.append(s1,ignore_index=True)
    
    print('-19-')
    print(res)
    

      

    输出

    -1-
                 A     B     C   D
    2013-01-03   8   9.0  10.0  11
    2013-01-04  12  13.0  14.0  15
    2013-01-05  16  17.0  18.0  19
    2013-01-06  20  21.0  22.0  23
    -2-
                 A     B     C   D
    2013-01-03   8   9.0  10.0  11
    2013-01-04  12  13.0  14.0  15
    2013-01-05  16  17.0  18.0  19
    2013-01-06  20  21.0  22.0  23
    -3-
                 A     B     C   D
    2013-01-01   0   NaN   2.0   3
    2013-01-02   4   5.0   NaN   7
    2013-01-03   8   9.0  10.0  11
    2013-01-04  12  13.0  14.0  15
    2013-01-05  16  17.0  18.0  19
    2013-01-06  20  21.0  22.0  23
    -4-
                 A     B     C   D
    2013-01-01   0   0.0   2.0   3
    2013-01-02   4   5.0   0.0   7
    2013-01-03   8   9.0  10.0  11
    2013-01-04  12  13.0  14.0  15
    2013-01-05  16  17.0  18.0  19
    2013-01-06  20  21.0  22.0  23
    -5-
                    A      B      C      D
    2013-01-01  False   True  False  False
    2013-01-02  False  False   True  False
    2013-01-03  False  False  False  False
    2013-01-04  False  False  False  False
    2013-01-05  False  False  False  False
    2013-01-06  False  False  False  False
    -6-
    True
    -7-
         a    b    c    d
    0  0.0  0.0  0.0  0.0
    1  0.0  0.0  0.0  0.0
    2  0.0  0.0  0.0  0.0
         a    b    c    d
    0  1.0  1.0  1.0  1.0
    1  1.0  1.0  1.0  1.0
    2  1.0  1.0  1.0  1.0
         a    b    c    d
    0  2.0  2.0  2.0  2.0
    1  2.0  2.0  2.0  2.0
    2  2.0  2.0  2.0  2.0
    -8-
         a    b    c    d
    0  0.0  0.0  0.0  0.0
    1  0.0  0.0  0.0  0.0
    2  0.0  0.0  0.0  0.0
    0  1.0  1.0  1.0  1.0
    1  1.0  1.0  1.0  1.0
    2  1.0  1.0  1.0  1.0
    0  2.0  2.0  2.0  2.0
    1  2.0  2.0  2.0  2.0
    2  2.0  2.0  2.0  2.0
    -9-
         a    b    c    d
    0  0.0  0.0  0.0  0.0
    1  0.0  0.0  0.0  0.0
    2  0.0  0.0  0.0  0.0
    3  1.0  1.0  1.0  1.0
    4  1.0  1.0  1.0  1.0
    5  1.0  1.0  1.0  1.0
    6  2.0  2.0  2.0  2.0
    7  2.0  2.0  2.0  2.0
    8  2.0  2.0  2.0  2.0
    -10-
         a    b    c    d
    1  0.0  0.0  0.0  0.0
    2  0.0  0.0  0.0  0.0
    3  0.0  0.0  0.0  0.0
         b    c    d    e
    2  1.0  1.0  1.0  1.0
    3  1.0  1.0  1.0  1.0
    4  1.0  1.0  1.0  1.0
    d:AlexWorkLog34-deeplearningmyWorksTransferLearningExamplemofangTransferLearning1.py:62: FutureWarning: Sorting because non-concatenation axis is not aligned. A future version
    of pandas will change to not sort by default.
    
    To accept the future behavior, pass 'sort=True'.
    
    To retain the current behavior and silence the warning, pass sort=False
    
      res = pd.concat([df1,df2])
    -11-
         a    b    c    d    e
    1  0.0  0.0  0.0  0.0  NaN
    2  0.0  0.0  0.0  0.0  NaN
    3  0.0  0.0  0.0  0.0  NaN
    2  NaN  1.0  1.0  1.0  1.0
    3  NaN  1.0  1.0  1.0  1.0
    4  NaN  1.0  1.0  1.0  1.0
    d:AlexWorkLog34-deeplearningmyWorksTransferLearningExamplemofangTransferLearning1.py:66: FutureWarning: Sorting because non-concatenation axis is not aligned. A future version
    of pandas will change to not sort by default.
    
    To accept the future behavior, pass 'sort=True'.
    
    To retain the current behavior and silence the warning, pass sort=False
    
      res = pd.concat([df1,df2], join='outer')
    -12-
         a    b    c    d    e
    1  0.0  0.0  0.0  0.0  NaN
    2  0.0  0.0  0.0  0.0  NaN
    3  0.0  0.0  0.0  0.0  NaN
    2  NaN  1.0  1.0  1.0  1.0
    3  NaN  1.0  1.0  1.0  1.0
    4  NaN  1.0  1.0  1.0  1.0
    -13-
         b    c    d
    1  0.0  0.0  0.0
    2  0.0  0.0  0.0
    3  0.0  0.0  0.0
    2  1.0  1.0  1.0
    3  1.0  1.0  1.0
    4  1.0  1.0  1.0
    -14-
         b    c    d
    0  0.0  0.0  0.0
    1  0.0  0.0  0.0
    2  0.0  0.0  0.0
    3  1.0  1.0  1.0
    4  1.0  1.0  1.0
    5  1.0  1.0  1.0
    -15-
         a    b    c    d    b    c    d    e
    1  0.0  0.0  0.0  0.0  NaN  NaN  NaN  NaN
    2  0.0  0.0  0.0  0.0  1.0  1.0  1.0  1.0
    3  0.0  0.0  0.0  0.0  1.0  1.0  1.0  1.0
    -16-
         a    b    c    d    b    c    d    e
    1  0.0  0.0  0.0  0.0  NaN  NaN  NaN  NaN
    2  0.0  0.0  0.0  0.0  1.0  1.0  1.0  1.0
    3  0.0  0.0  0.0  0.0  1.0  1.0  1.0  1.0
    4  NaN  NaN  NaN  NaN  1.0  1.0  1.0  1.0
    -17-
         a    b    c    d
    0  0.0  0.0  0.0  0.0
    1  0.0  0.0  0.0  0.0
    2  0.0  0.0  0.0  0.0
    3  1.0  1.0  1.0  1.0
    4  1.0  1.0  1.0  1.0
    5  1.0  1.0  1.0  1.0
    C:ProgramDataAnaconda3libsite-packagespandascoreframe.py:6201: FutureWarning: Sorting because non-concatenation axis
    is not aligned. A future version
    of pandas will change to not sort by default.
    
    To accept the future behavior, pass 'sort=True'.
    
    To retain the current behavior and silence the warning, pass sort=False
    
      sort=sort)
    -18-
         a    b    c    d    e
    0  0.0  0.0  0.0  0.0  NaN
    1  0.0  0.0  0.0  0.0  NaN
    2  0.0  0.0  0.0  0.0  NaN
    3  1.0  1.0  1.0  1.0  NaN
    4  1.0  1.0  1.0  1.0  NaN
    5  1.0  1.0  1.0  1.0  NaN
    6  NaN  2.0  2.0  2.0  2.0
    7  NaN  2.0  2.0  2.0  2.0
    8  NaN  2.0  2.0  2.0  2.0
    -19-
         a    b    c    d
    0  0.0  0.0  0.0  0.0
    1  0.0  0.0  0.0  0.0
    2  0.0  0.0  0.0  0.0
    3  1.0  2.0  3.0  4.0
    

      

  • 相关阅读:
    webjars管理静态资源
    SpringCloud踩坑日记
    ELK日志搜索平台搭建
    新硬盘挂载到目录后目录原先数据消失解决办法
    nginx安装缺少依赖记录
    SpringCloud踩坑日记
    .bashrc配错刷新导致linux基础命令不能用修复
    nginx超时时间配置
    nginx日志切分shell脚本
    2019.10.10 实习日记
  • 原文地址:https://www.cnblogs.com/alexYuin/p/9607123.html
Copyright © 2020-2023  润新知