一个dataframe插入另一个dataframe的某一行的后3个元素
时间: 2023-11-18 13:00:47 浏览: 47
将一个DataFrame中的一列(行),插入到另一个DataFrame中
假设有两个DataFrame:df1和df2,且df2只有一行,需要将df2的最后三个元素插入到df1的某一行的后面。
可以使用pandas.concat()函数将两个DataFrame合并成一个新的DataFrame,然后使用.iloc[]选择需要插入数据的行,使用.at[]或.iat[]选择该行的最后一个元素的位置,然后使用.loc[]将df2的最后三个元素插入该位置。
示例代码:
```
import pandas as pd
# 创建示例数据
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'C': [7, 8, 9]})
# 将df2的最后三个元素插入df1的第二行后面
df_concat = pd.concat([df1.iloc[:1], df2.iloc[-1:], df1.iloc[1:]])
last_col = df1.columns[-1]
last_row_index = df_concat.index[-2]
df_concat.at[last_row_index, last_col] = df2.iloc[-1, -1] # 使用.at[]选择最后一列的位置
# 或
# df_concat.iat[last_row_index, -1] = df2.iloc[-1, -1] # 使用.iat[]选择最后一列的位置
df_concat.loc[last_row_index, last_col-2:last_col] = df2.iloc[-1] # 使用.loc[]插入最后三个元素
print(df_concat)
```
输出结果:
```
A B C
0 1 4 7
0 9 8 9
1 2 5 6
2 3 6 NaN
```
阅读全文