垂直连接数据帧

斯拉帕拉

我想垂直连接数据帧。我拥有的每个数据框都是从目录中的文件创建的,我想将它们全部串联起来。我可以为每个文件执行此操作:

df1 = pd.read_csv('C:/Users/Desktop/folder/file1.csv', usecols = 'name')
df2 = pd.read_csv('C:/Users/Desktop/folder/file1.csv', usecols = 'reads')

result = pd.concat([df1, df2], axis=1)

但是,我必须一次为每个单独的文件执行此操作。我试图将值保存在一个空数组中,如下所示:


for file in glob.glob('C:/Users/Desktop/folder/file*.csv'):

    df1 = pd.read_csv(file, usecols='name')
    df2 = pd.read_csv(file, usecols='reads')

    collected_columns.append(df1['name'])
    collected_columns.append(df2['reads'])
    
final_df = pd.concat(df1, df2, join='outer', axis=1, sort=True)

# dataframe to csv
final_df.to_csv('C:/Users/Desktop/folder/TEST.csv')

但这会导致一个数据帧,每个文件的每一列并排。我希望这是有道理的,如果有人可以提供帮助,我将不胜感激!

Hoori M.

假设第一次串联的结果如下:

first_concat = pd.concat([df1, df2], axis=1)
    name    reads
0   Joe     1
1   Jack    2
2   John    3

并且您还有另一个文件,基于该文件您还有另一个串联(与第一个文件相同的代码):

second_concat = pd.concat([df3, df4], axis=1)

    name    reads
0   Ava     11
1   Adam    22

为了垂直合并这两个,您应该执行以下操作:

all_df = [first_concat, second_concat]
final_df = pd.concat(all_df, ignore_index=True)

    name    reads
0   Joe     1
1   Jack    2
2   John    3
3   Ava     11
4   Adam    22

然后,您可以for loop轻松地使用它

all_df = []
for file in glob.glob('C:/Users/Desktop/folder/file*.csv'):
    df1 = pd.read_csv(file, usecols='name')
    df2 = pd.read_csv(file, usecols='reads')
    df_nr_concat = pd.concat([df1, df2], axis=1)
    all_df.append(df_nr_concat)
final_df = pd.concat(all_df, ignore_index=True)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

垂直连接两个重叠的数据框

来自分类Dev

按行随机连接数据帧

来自分类Dev

以顺序方式连接数据帧

来自分类Dev

编码后连接数据帧

来自分类Dev

按行随机连接数据帧

来自分类Dev

“垂直连接” php数组

来自分类Dev

CSS的垂直连接线

来自分类Dev

matlab 垂直连接逻辑索引数组

来自分类Dev

按索引/列元素连接数据帧

来自分类Dev

如何根据2列之间的条件连接数据帧

来自分类Dev

循环转置和连接数据帧列表

来自分类Dev

连接数据帧后对特定列进行排序

来自分类Dev

如何在for循环中根据条件连接数据帧?

来自分类Dev

熊猫索引导致难以连接数据帧

来自分类Dev

如何在R中连接数据帧的行?

来自分类Dev

在R中的循环内水平连接数据帧

来自分类Dev

有效地连接数据帧

来自分类Dev

基于预先存在的行连接数据帧

来自分类Dev

Pandas 连接数据帧,保留一列

来自分类Dev

在Matlab中仅使用水平和垂直连接绘制数据

来自分类Dev

在SQLite中垂直连接来自不同表的列

来自分类Dev

如何连接数据帧但仅当 ID 列值既是数据帧又删除 ID 不匹配的行?

来自分类Dev

按给定的索引级别和排序顺序堆叠和连接数据帧

来自分类Dev

连接数据帧,同时确保布尔值未转换为整数

来自分类Dev

如何连接数据帧,以便将缺失值设置为 NaN

来自分类Dev

python pandas - 根据连接数据帧的索引和/或 ID 设置列的列值

来自分类Dev

如何使用 id 连接数据帧行中的字符串?

来自分类Dev

连接数据的MySQL条件

来自分类Dev

SQL连接数据逐级