我在变量 <concepts>
中存储了一系列 Pandas 数据框,类似于以下内容:
df
df
我想将它们合并到一个熊猫数据框,如下所示:
| 0 | 1 |
+-------+--------+
|ABCD | WXYZ |
| 0 | 1 |
+-------+--------+
|DEFJ | HJKL |
| 0 | 1 |
+-------+--------+
|ZXCT | WYOM |
| 0 | 1 |
+-------+--------+
|TYZX | NMEX |
那么如何将一系列熊猫数据帧合并为一个熊猫数据帧?
答案 0 :(得分:1)
就像你现在的代码一样,你只输出一个数据帧,只有一行(覆盖其他的)。
试试这个:
# Copy the names to pandas dataframes and save them in a list
import pandas as pd
dfs = []
for j in range(0,5):
for i in divs[j].find_elements_by_tag_name('a'):
i = i.get_attribute('text')
i = parse_name(i)
df = pd.DataFrame(i)
df = df.transpose()
dfs.append(df)
# Aggregate all dataframes in one
new_df = dfs[0]
for df in dfs[1:]:
new_df = new_df.append(df)
# Update index
new_df = new_df.reset_index(drop=True)
# Print first five rows
new_df.head()
0 1
0 Lynn Batten Emeritus Professor
1 Andrzej Goscinski Emeritus Professor
2 Jemal Abawajy Professor
3 Maia Angelova Professor
4 Gleb Beliakov Professor
答案 1 :(得分:0)
有四种方法可以连接或合并数据帧,您可以参考this post
这些是最常见的实现
import pandas as pd
df1 = pd.DataFrame({0:['ABCD'], 1:['WXYX']})
df2 = pd.DataFrame({0:['DEFJ'], 1:['HJKL']})
df3 = pd.DataFrame({0:['ZXCT'], 1:['WYOM']})
...
df = pd.concat([df1, df2, df3], axis=0)
print(df.head())
或者如果您有一个具有相同标题的数据框列表,您可以尝试
dfs = [df1, df2, df3 ..]
df = pd.concat(dfs, axis=0)
最简单的方法就是使用 df.append
df = df.append(anotherdf)