Python学習記録-pandas numpy

2458 ワード

1.基本的な使い方
  • Python属性の書き方
  • class MyClass(object):
    
        @property
        def myProperty(self):
            return self._privateProperty
        
        @myProperty.setter
        def myProperty(self, pro):
            self._privatePerperty
    

    クラスMyClassのプロパティを宣言し、ポイント構文を使用してアクセスします.
  • あるフォルダの下のサブファイル
  • を読み込む.
    def _filenames(self, filedir):
        for root, dirs, files in os.walk(filedir):
            print "root: {0}".format(root)
            print "dirs: {0}".format(dirs)
            print "files: {0}".format(files)
    
  • mark一つの[for]用法
  • index_list = [i+1 in i in np.arange(40000)]
    #   1~40000
    my_list = [index_list[i] for i in np.random.permutation(np.arange(len(index_list))]
    #      1~40000
    

    2.pandasライブラリimport pandas as pd pandasはexcelのコード操作ライブラリと見なすことができる.
    #   csv  
    file = pd.read_csv(filePath, header=0)
    # filePath csv     ,header=0      
    #                  
    file.columns = ['x', 'y', 'z']
    
    #     
    file2 = pd.read_csv(file2Path)
    contact = pd.concat([file, file2], axis=1) #    axis=1      
    
    #     
    data = pd.DataFrame(contact)
    data.columns = ['x', 'y', 'z', 'b']
    data.insert(3, 'a', 0) #   3      'a'  ,  0
    
    #     (      )
    data.loc[:, ['a', 'b']] = data.loc[:, ['b', 'a']].values 
    #   frame csv   
    data.to_csv(./file.csv', index=False, header=False)
    # index, header         ,False       
    
    
    file = pd.read_csv(filePath, header=0)
    pdata = pd.DataFrame(np.reshape(data, (-1, 6)), columns=['x', 'y', 'z'])
    pdata[['x', 'y', 'z']].astype('float64').to_csv('./transnpy.csv', index=None, header=None)
    #   reshape  -1      ,                
    #      csv        ndarray   shape,     csv   
    

    3.numpyライブラリimport numpy as np ndarrayタイプの変数がある場合、data;dataの数列をlistとして保存すると、listへのアクセスよりもdataへのアクセスに時間がかかります.次のようになります.
    print(np.shape(data)) # (10000, 6)
    x = [data[i][0] for i in range(len(data[:, 0]))]
    
    for i in range(len(x)):
        value = x[i]
        
    for i in range(len(x)):
        value = data[i][0]
    

    ndarrayデータをnpyファイルに保存し、loading from npy is 30 x faster than loading from pickle;cvsファイルから読み出した配列をndarrayに変換し、npyファイルに保存します.
    #      npy  
    np.save('./data.npy', data)
    npy = np.load('./data.npy')