[英]Adding a Row in a dataset.csv file through using pandas in python
我試過了。append 方法。 代碼是正確的,但它沒有做任何事情。 my.csv 太大而無法打開,我無法物理添加,所以請如果有人可以解決我的問題,請回答:
Code:
import pandas as pd
ARP_MitM_dataset = pd.read_csv('/content/drive/MyDrive/ARP MitM_dataset-002.csv');
label = pd.read_csv('/content/drive/MyDrive/ARP MitM_labels.csv');
t = iter(range(1, 401))
ARP_MitM_dataset.columns = ['Column'+str(i).format(next(t)) if 1 <= i <= 499 else x for i, x in enumerate(ARP_MitM_dataset.columns, 1)]
dataArr = ARP_MitM_dataset
labelArr = label
dataArr.append({' ':2504267}, ignore_index = True) <------ Check
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(dataArr,labelArr, test_size = 0.40, random_state = 42) <--- Error
print(X_train.shape,y_train.shape)
print(X_test.shape,y_test.shape)
Error Showing:
ValueError:發現樣本數量不一致的輸入變量:[2504266、2504267]
你永遠不應該種植 DataFrame。 始終 append 將您的數據轉換為列表並在最后將其轉換為 DataFrame 因為:-
1.) 將 append 列在一個列表中並在一個 go 中創建一個 DataFrame 總是更便宜/更快。
2.) 列表占用更少的 memory 並且是一個更輕的數據結構,可以使用 append 和刪除。
3.) dtypes
會自動為您的數據推斷。 另一方面,創建一個空的 NaN 框架會自動使它們成為 object,這很糟糕。
4.) 系統會自動為您創建一個索引,而不是您必須小心為要附加的行分配正確的索引。
你可以嘗試這樣的事情: -
data = []
for a, b, c in some_function_that_yields_data():
data.append([a, b, c])
df = pd.DataFrame(data, columns=['A', 'B', 'C'])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.