0

我想创建一个新的数据框,该数据框将使用现有数据框中的选定列导出到 csv。

我尝试使用 for 循环添加范围内的每一列(14,var_x,2)。所以列[14]之后的所有偶数列。

原始代码:

var_col_length=len(df.columns)

for x in range(14, var_col_length, 2):
    new_dataframe=df[df.columns[x]]

使用附加:

var_col_length=len(df.columns)

for x in range(14, var_col_length, 2):
    new_dataframe=new_dataframe.append(df[df.columns[x]])


TypeError: '<' not supported between instances of 'str' and 'int'

我要么只得到最后一列,因为正如上面的代码所预期的那样,它不断重写数据帧“new_dataframe”,当我尝试使用 .append 时出现错误:

TypeError:“str”和“int”的实例之间不支持“<”。

4

2 回答 2

1

采用.iloc

new_df = df.iloc[:, 14:var_col_length:2]
于 2019-08-22T18:24:12.780 回答
0
import numpy as np
df[df.columns[np.arange(14,var_col_length,2)]]
于 2019-08-22T18:26:48.433 回答