Python學習記錄-pandas numpy

1. 基礎用法

  • Python屬性的寫法
class MyClass(object):

    @property
    def myProperty(self):
        return self._privateProperty
    
    @myProperty.setter
    def myProperty(self, pro):
        self._privatePerperty

上面會為類MyClass聲明一個屬性,使用點語法進行存?。?/p>

  • 讀取某一文件夾下的子文件
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分別代碼行名和列名,F(xiàn)alse代表不保存名稱


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是一個占位符,表示該維度上的維數(shù)由數(shù)據(jù)自行算出
# 上面這段將csv取出的數(shù)據(jù)轉換為ndarray并更改shape,再重新存到csv文件中

3. numpy庫

import numpy as np
假如有一個ndarray類型的變量,data;將data中的數(shù)列保存為list,在對data進行訪問時要比對list進行訪問花費時間要大很多,如下:

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數(shù)據(jù)保存到npy文件中,loading from npy is 30x faster than loading from pickle;
將一個從cvs文件中讀出的數(shù)組轉化為ndarray并保存為npy文件:

# 保存和讀取npy文件
np.save('./data.npy', data)
npy = np.load('./data.npy')
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容