从两个 csv 文件创建一个 csv 文件

数据挖掘 熊猫 数据框
2022-03-03 16:09:32

我有两个 csv 文件:

sub_compiler.to_csv('sub_compiler.csv')
sub_compiler.head()

在此处输入图像描述

sub_opt = pd.read_csv('sub_opt.csv')
sub_opt.head()

在此处输入图像描述

我想做的是创建一个 csv 文件,其中我有一些形式

编译器,选择

我怎么能这样做?我需要这样做才能提交。

提前致谢。

[编辑] 谢谢你的回答。现在我得到了:

在此处输入图像描述

不明白为什么我有未命名的列。

我的目标是获得一个仅包含列编译器和选项的 csv 文件。我怎么能这样做?再次感谢。

[编辑 2] 我已经解决了我的问题,但是如果我手动打开 csv 文件,那么只需单击该文件,我就有以下内容:

在此处输入图像描述

s 它只包含 11 行,但在 jupyter 中却包含 3000 行。是不是有什么问题?

[编辑 3] 我试图做到以下几点:

import pandas as pd

test = pd.read_csv('1495927.csv')
test

我有:

在此处输入图像描述

我创建的 csv 文件在哪里1495927.csv,在我有 11 个元素的图像中。

3个回答
sub_compiler.merge(sub_opt, how='inner', on='instruction')

这是如何在您的表上进行表连接。

如果它已经对齐并且你只想连接你可以做的另一个选择

pd.concat([sub_compiler,sub_opt[['opt']]], axis=1)

这是幼稚的按列连接。

最后继续 to_csv。

使用pd.DataFrame[['column']]会将一列提取为 DataFrame。您可以执行此操作sub_compilersub_opt获取所需的列。由于它们共享相同的索引,因此您可以将它们水平对齐pd.concat

pd.concat([sub_compiler[['compiler']], sub_opt[['opt']]], axis=1)

其他(正确)答案的替代方法:似乎指令列对于两者都是相同的,因此您可以将opt列作为新列添加到数据框中并写入。这样你仍然拥有所有信息(你说你想要类似的东西 compileropt ;)

sub_compiler["opt"] = sub_opt.opt

然后像以前一样写入磁盘:

sub_compiler.to_csv("compiler_opt.csv")