Python 3.x 在python中附加由两个函数创建的两个数据帧

Python 3.x 在python中附加由两个函数创建的两个数据帧,python-3.x,Python 3.x,我有两个函数,func_1(读取数据帧中的csv文件)和func_2(读取数据帧中的另一个csv文件)。现在我想堆叠这两个数据帧。我有以下代码: def func1(): df = pd.read_csv("a.csv") return df def func2(): df = pd.read_csv("b.csv") return df 现在,如何组合/附加在每个函数中创建的两个数据帧取决于数据帧的形状以及您希望如何组合它们。它可以是: df1 = func1() df2

我有两个函数,func_1(读取数据帧中的csv文件)和func_2(读取数据帧中的另一个csv文件)。现在我想堆叠这两个数据帧。我有以下代码:

def func1():
  df = pd.read_csv("a.csv")
  return df

def func2():
  df = pd.read_csv("b.csv")
  return df

现在,如何组合/附加在每个函数中创建的两个数据帧取决于数据帧的形状以及您希望如何组合它们。它可以是:

df1 = func1()
df2 = func2()
merged = pd.concat([df1, df2])
df1 = func1()
df2 = func2()
df1.append(df2, sort=False)
或者可以是:

df1 = func1()
df2 = func2()
merged = pd.concat([df1, df2])
df1 = func1()
df2 = func2()
df1.append(df2, sort=False)
取决于它们的形状。例如,如果它们具有相同的列标题,我们可以将它们堆叠在一起:

import pandas as pd
df1 = pd.DataFrame([[1, 2, 3]], columns=['a','b','c'])
print(df1)

>    a  b  c
> 0  1  2  3

df2 = pd.DataFrame([[4, 5, 6]], columns=['a','b','c'])
print(df2)

>    a  b  c
> 0  4  5  6

df1.append(df2)
print(df1)

>    a  b  c
> 0  1  2  3
> 0  4  5  6
或者,如果他们有一些不同的列名,我们可能会将其合并,熊猫将填补空白中的“南”:

df1 = pd.DataFrame([[1, 2, 3]], columns=['a','b','c'])
print(df1)

>    a  b  c
> 0  1  2  3

df2 = pd.DataFrame([[4, 5, 6]], columns=['b','c','d'])
print(df2)

>    b  c  d
> 0  4  5  6

df3 = pd.concat([df1, df2], sort=False)
print(df3)

>      a  b  c    d
> 0  1.0  2  3  NaN
> 0  NaN  4  5  6.0
正如您所想象的,存在大量不同的排列、跨不同轴合并或保持索引编号等等,因此您确实需要找出最适合自己的方法。

了解如何合并数据帧。这可能会起到以下作用: