我正在准备来自其他两个数据帧的数据帧,因此我稍后可以使用 to_csv 将结果导出到 csv 文件中,但是尽管数据类型为 <class 'pandas.core.series.Series'>
的输入行,结果数据帧还是空的不是空的,这是我这样做的方式:
def writeCSVResult(self, indices, test_set, train_set, output_csvfile_name):
all_columns = train_set.columns.values
results = pd.DataFrame(columns=all_columns)
for i in xrange(self.testSet_length):
results.append(test_set.loc[i],ignore_index=True)
for j in xrange(self.numbe_of_cl):
results.append(train_set.loc[indices[j]],ignore_index=True)
print results.shape
results.to_csv(output_csvfile_name, cols=all_columns, index=False)
return
生成的数据框形状 (0, 20)
更多信息:
test_set shape (10,20)
train_set shape (500000,20)
我错过了什么?
最佳答案
pandas.DataFrame.append(other)
“将 other
的行追加到此帧的末尾,返回一个新对象。”
换句话说,它不会改变手头的对象。您正在调用 append
并将结果放在 bit floor 上。如果你想在 list.append 的意义上追加到框架,你需要使用像
results = results.append(test_set.loc[i],ignore_index=True)
关于python - 使用 append 从另外两个创建 pandas dataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31855010/