如何在 python 中“写入新的 .CSV 文件”或“另存为新的 .CSV 文件”
How To ' Write To New .CSV File' or "Save As New .CSV File' In python
我有一个CSV文件,我想应用One hot encoding,然后将新的dataframe(dataset)另存为一个新的CSV文件。但是当保存新文件时,它只写了 5 行虚拟数据和所有行的原始数据集!
我只想保存新的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)
您在这一行调用 df.head()
:
dummies = pd.get_dummies(dataset, columns=["name","mark",....... ]).head()
这就是为什么您只得到 5 个虚拟行的原因。删除 .head()
并获得所有行。
默认情况下,head()
函数将 return 只有 5 行。请申请 get_dummies()
没有 head()
功能
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",....... ])
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)
我有一个CSV文件,我想应用One hot encoding,然后将新的dataframe(dataset)另存为一个新的CSV文件。但是当保存新文件时,它只写了 5 行虚拟数据和所有行的原始数据集!
我只想保存新的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)
您在这一行调用 df.head()
:
dummies = pd.get_dummies(dataset, columns=["name","mark",....... ]).head()
这就是为什么您只得到 5 个虚拟行的原因。删除 .head()
并获得所有行。
head()
函数将 return 只有 5 行。请申请 get_dummies()
没有 head()
功能
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",....... ])
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)