首页 > 解决方案 > 如何在 python 中“写入新的 .CSV 文件”或“另存为新的 .CSV 文件”

问题描述

我有一个 CSV 文件,我想应用一个热编码,然后将新的数据帧(数据集)保存为新的 CSV 文件。但是当新文件保存时,它只写入了 5 Rows of dummy 和原始数据集的所有行!

我只想将所有行和列保存在新的 file.csv 中,数据集的最终形状是(237124, 417).

我的代码包含:

import numpy as np 
import pandas as pd
from sklearn.preprocessing import OneHotEncoder 
from sklearn.preprocessing import LabelEncoder 
import csv

dataset=pd.read_csv("C:/Users/User/Desktop/data.csv",encoding='cp1252')
dataset.shape
#output: (237124, 37)

dummies = pd.get_dummies(dataset, columns=["name","mark",....... ]).head()
dummies.shape
#output : (5, 380)

dataset = pd.concat([dataset, dummies], axis=1)
dataset.shape
#output: (237124, 417)
# i want this shape(original+dummies)

dataset.to_csv('OneHotEncodnig.csv', index=False)

标签: pythoncsvone-hot-encoding

解决方案


df.head()在此行中调用:

dummies = pd.get_dummies(dataset, columns=["name","mark",....... ]).head()

这就是为什么你只得到 5 个虚拟行的原因。删除.head(),您将获得所有行。


推荐阅读