記錄一下,有乙個超大的資料集檔案,我需要把它打亂順序,但是呢!檔案太大,無法直接匯入記憶體,只能用資料流的方式迭代讀取;
這裡記錄兩種方式;
def split_data_set(dataset_dir):
"""洗牌演算法
"""val_dataset_dir = 'd_val.csv'
train_dataset_dir = 'd_train.csv'
s0 = time.clock()
# 計算檔案有多少行
count = 0
with open(dataset_dir, 'r', encoding='utf-8') as f:
for line in f:
if line != '':
count += 1
print('該檔案共有{}條樣本'.format(count))
# 打亂樣本索引
index = np.arange(count)
random.shuffle(index) # 該方法直接作用於indices沒有返回值
# 按照 發牌方式 記錄下打亂的位置
files = # 臨時檔案列表
mx = # 牌堆的最大值
for i, n in enumerate(index):
# print(mx)
# print(files)
pos = bisect.bisect_left(mx, n) - 1
if pos =
刪除Git記錄中大檔案
專案中之前有個大檔案videos 404 hd.mp4,每次提交 巨慢,所以刪了資源檔案。刪了之後還是提交很多。因為.git裡面有404 hd.mp4的管理記錄。怎麼刪掉呢?來上碼 project git master du sh 34m project git master git filter ...
洗牌演算法的研究
在紙牌遊戲中,有個發牌過程,發牌就是把紙牌序列打亂發給遊戲者。要保證發牌是隨機的,這也符合現實中玩牌的過程,洗牌 洗牌 即產生指定資料的隨機序列,將牌序打亂。方法一 思路 將n個數依次放到隨機的位置。關鍵是每次找乙個隨機的位置。1 設定目標陣列為空 置0 1 每次產生乙個0 n 1的隨機數,看這個位...
PHP 獲取 遠端 大檔案方法記錄
通常php獲取檔案時,會使用file get contents 但當獲取大檔案時,可能會報這樣的錯 allowed memory size of 134217728 bytes exhausted tried to allocate 49422336 bytes 這是因為file get conte...