import pandas as pd
df = pd.read_csv('coords.csv',sep=',',header=1)

在這種情況下,在其第一列中包含單詞“class”的標題行在下面重復了幾行,而我需要的是讓 csv 檔案的第一行僅包含第一列中包含單詞“class”列,其余洗掉它們。當我的意思是洗掉它們時,我并不是說它們被留空,因為這會影響資料,而是簡單地洗掉它們
uj5u.com熱心網友回復:
這是一個過濾掉這些行的小腳本。它不會將整個檔案加載到記憶體中,而是對每一行進行讀寫,除了以“類”開頭的行:
import csv
with open('coords_filtered.csv', 'w', newline='') as out_f:
writer = csv.writer(out_f)
with open('coords.csv', newline='') as in_f:
reader = csv.reader(in_f)
# Transfer header
writer.writerow(next(reader))
for row in reader:
if row[0] == 'class':
continue # skip row / don't write
writer.writerow(row)
uj5u.com熱心網友回復:
如果我理解正確,您需要清除資料中出現的所有重復標題。如果是這種情況并且檔案不是那么大,您可以在 read_csv 使用之后過濾資料幀
import pandas as pd
df = pd.read_csv('coords.csv',sep=',',header=0)
df = df[df['class'] != 'class']
編輯:要使其正常作業,您必須將索引為 0 的第一行視為標題,以便可以過濾資料幀
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/407260.html
標籤:
上一篇:排序和拆分csv
下一篇:從選擇特定值的字典串列創建字典
