python read_csv函数_Dataframe和read csv函数Python

我用熊猫图书馆做一个简单的程序。在

首先我有一个.csv文件小.csv,它包含以下结构。在1,4.0,?,?,none,?

2,2.0,3.0,?,none,38

2,2.5,2.5,?,tc,39

在我的主要功能中,我有以下代码:

^{pr2}$

main函数的解释如下,根据我传递给load_data函数的参数,您必须以某种方式从我的.csv文件加载数据。在

以下是可能的参数和它们开发的功能:inputFile:包含数据的csv文件的名称。在

分隔符:分隔数据的字符。默认情况下,函数必须使用逗号字符(“,”)。在

nan:将被视为缺失值的字符串列表。此列表中某个字符串在输入文件中的任何出现都将被解释为NaN。默认值为“无”。在

header:一个布尔标志,指示文件是否包含头(True)或不包含(False)。默认情况下,它必须为True。在

varNames:一个*Strings*列表,仅在header为有效False的情况下用作变量名。默认值为“无”。在

pref:一个字符串,只有在header为有效False且列表尚未定义时才用作变量名称的前缀*varNames。例如,如果pref=“x”,变量的名称将为“x0”、“x1”、“x2”等。默认值为“var”。在

我的加载数据函数:def load_data(inputFile, delimiter=",", nan=None, header=True,

varNames=None, pref="var_"):

data = DataFrame()

if header == False:

if not varNames:

print "header=false and varNames not defined"

data = pd.read_csv(inputFile, sep=delimiter, na_values=nan, prefix=pref, header=None)

listaNum = list(range(len(data.columns)))

data.columns = listaNum

else: # varNames defined

data = pd.read_csv(inputFile, sep=delimiter, na_values=nan, prefix=pref)

else:

return data

此函数负责根据我们输入的参数显示数据,根据情况改变输出

我必须评估的一个案例是以下。在

如果header=False并且变量varsNames(它表示列的名称)没有传递给该函数(Null),那么我必须将一个从0到列数的数值赋值,即0 1 2。。。最大列数。在

同样,在这个例子中,我必须添加我们传递给那个定义列的数字的前缀,在本例中它将是“col”。在

结果如下:col_0 col_1 col_2 col_3 col_4 col_5

0 1 4.0 NaN NaN NaN NaN

1 2 2.0 3.0 NaN NaN 38.0

2 2 2.5 2.5 NaN tc 39.0

这是我的问题,在我评论过的情况下,我们必须给每个数值列添加前缀,使用变量前缀,我可以手工完成,也就是说,在列列表的每个元素上,添加字符串“col”。在

但是我认为这是错误的,因为我没有使用可以通过read_csv函数传递的“prefix”选项,因此我尝试过它,但是它没有正确地执行。在

这是我的结果,正如您所见,虽然我将prefix参数传递给read_cv函数,但它忽略了它。在0 1 2 3 4 5

0 1 4.0 NaN NaN NaN NaN

1 2 2.0 3.0 NaN NaN 38.0

2 2 2.5 2.5 NaN tc 39.0

另外,还有一个疑问是,因为我在计算必须分配给列的数值,所以我修改已经生成的数据帧,我认为这不是实现它的最佳形式。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值