如何在Python中使用 rbind?
在本文中,我们将讨论Python中的 rbind()。
方法 1:使用具有相等列的 rbind()函数
在这里,我们必须采用 2 个具有相同列的数据帧并应用 concat()函数。这将基于列组合行。
语法:
pandas.concat([dataframe1, dataframe2])
在哪里
- dataframe1 是第一个数据帧
- dataframe2 是第二个数据帧
例子:
Python3
# import pandas module
import pandas as pd
# create first dataframe
data1 = pd.DataFrame({'fruits': ['apple', 'guava', 'mango', 'banana'],
'cost': [34, 56, 65, 45]})
# create second dataframe
data2 = pd.DataFrame({'fruits': ['cuatard apple', 'guava', 'mango', 'papaya'],
'cost': [314, 86, 65, 51]})
# concat two columns
pd.concat([data1, data2])
Python3
# import pandas module
import pandas as pd
# create first dataframe with 2 columns
data1 = pd.DataFrame({'fruits': ['apple', 'guava', 'mango', 'banana'],
'cost': [34, 56, 65, 45]})
# create second dataframe with 3 columns
data2 = pd.DataFrame({'fruits': ['cuatard apple', 'guava', 'mango', 'papaya'],
'cost': [314, 86, 65, 51],
'city': ['guntur', 'tenali', 'ponnur', 'hyd']})
# concat two columns
pd.concat([data1, data2])
Python3
# import pandas module
import pandas as pd
# create first dataframe with 2 columns
data1 = pd.DataFrame({'fruits': ['apple', 'guava', 'mango', 'banana'],
'cost': [34, 56, 65, 45]})
# create second dataframe with 3 columns
data2 = pd.DataFrame({'fruits': ['cuatard apple', 'guava', 'mango', 'papaya'],
'cost': [314, 86, 65, 51],
'city': ['guntur', 'tenali', 'ponnur', 'hyd']})
# concat two columns
pd.concat([data1, data2]).reset_index(drop=True)
输出:
方法 2:对不等列使用 rbind()函数
这里两个数据框列不相等,在这种情况下,不匹配的列将在其列中获得 NAN 替换行。
语法:
pandas.concat([dataframe1, dataframe2])
在哪里,
- dataframe1 是第一个数据帧
- dataframe2 是第二个数据帧
例子:
Python3
# import pandas module
import pandas as pd
# create first dataframe with 2 columns
data1 = pd.DataFrame({'fruits': ['apple', 'guava', 'mango', 'banana'],
'cost': [34, 56, 65, 45]})
# create second dataframe with 3 columns
data2 = pd.DataFrame({'fruits': ['cuatard apple', 'guava', 'mango', 'papaya'],
'cost': [314, 86, 65, 51],
'city': ['guntur', 'tenali', 'ponnur', 'hyd']})
# concat two columns
pd.concat([data1, data2])
输出:
这里我们观察到行的索引再次从 0 开始,为了避免这种情况,我们必须使用 .reset_index() 方法。这将重置新数据帧的索引。
语法:
pandas.concat([dataframe1, dataframe2]).reset_index(drop=True)
示例:
Python3
# import pandas module
import pandas as pd
# create first dataframe with 2 columns
data1 = pd.DataFrame({'fruits': ['apple', 'guava', 'mango', 'banana'],
'cost': [34, 56, 65, 45]})
# create second dataframe with 3 columns
data2 = pd.DataFrame({'fruits': ['cuatard apple', 'guava', 'mango', 'papaya'],
'cost': [314, 86, 65, 51],
'city': ['guntur', 'tenali', 'ponnur', 'hyd']})
# concat two columns
pd.concat([data1, data2]).reset_index(drop=True)
输出: