【发布时间】:2020-11-18 03:43:07
【问题描述】:
我必须编写一个脚本来读取 csv 文件并删除带有 '.' 的列并将字符串 False 和 True 读取为 0 和 1。我已经能够很好地对 drop 列进行编码,但是我无法让 pandas 将 False 读取为 0 并将 True 读取为 1,以便可以以数字形式查看整个数据.所有其他数据都是浮动的,所以我相信我必须迭代以找到 False 和 True 并将其读取为 0 和 1。下面是我到目前为止的代码,我附上了一个示例数据
import numpy as np
import pandas as pd
[![enter image description here][1]][1]
def ImportCustomScript(filename):
data = pd.read_csv(filename, sep=',', header=None)
cols = data.shape[1]
data_list=[]
for i in range(cols):
if i=='.' in data.columns:
data.drop([i], axis=1)
data_list.append([data[i][0], np.array(data[cols][1:], dtype='<f8')])
data.replace('False',0).replace('True',1)
data_frame = pd.DataFrame(data_list)
return data_frame
【问题讨论】:
-
嗨 NewbieCoder,欢迎来到 SO。使问题可重现是一种很好的做法,因此,如果您可以包含实际文件,或者更好的是,生成一个非常小的数据框来重现您遇到的问题,这将增加您获得有用答案的机会。
-
@zabop 原始 csv 文件有 30k 行和 334 列。不确定如何在此处添加该文件。第一行是标签,下面的所有其他内容都是浮点数,有些数据说 False,有些说 True 而不是浮点数。如果您对如何添加文件或部分图像有任何建议,我将不胜感激。谢谢。
-
嗨新手编码员!那么你能举一个你的数据框正在读取的 1 或 2 行数据的例子吗?因为我不确定读入字符串“False”/“True”是什么意思。字符串是否只包含这些单词中的任何一个?或者它是否涉及其他单词/字符?
-
Pandas 不会使用数据中的 True 和 False 词读取 csv 文件,而是将其读取为 0 和 1。我澄清得更好了吗?
标签: python python-3.x pandas pycharm pandas-datareader