取出df中一行复制新加到另一个df中
时间: 2024-03-03 09:50:14 浏览: 27
可以使用 pandas 库中的 `loc` 方法来实现将 `df` 中的某一行复制并添加到另一个 `df` 中的操作。具体实现步骤如下:
1. 首先,我们需要确定需要复制的行的索引值,假设该行的索引值为 `row_index`。
2. 使用 `loc` 方法选取该行,并将其复制到一个新的 `dataframe` 中。具体代码如下:
```python
new_df = pd.DataFrame(df.loc[row_index].values.reshape(1, -1), columns=df.columns)
```
其中,`df.loc[row_index]` 表示选取该行数据,`values` 方法将其转化为 `numpy` 数组,`reshape` 方法将其转化为一个二维数组,`1` 表示该数组只有一行,`-1` 表示其他维度的长度自动计算。`columns=df.columns` 表示将该行数据的列名设置为原 `dataframe` 的列名。
3. 将新的 `dataframe` 添加到目标 `dataframe` 中。具体代码如下:
```python
target_df = pd.concat([target_df, new_df], ignore_index=True)
```
其中,`pd.concat` 方法可以将两个 `dataframe` 沿某个轴方向合并,`ignore_index=True` 表示重新设置索引值。
完整的代码如下:
```python
import pandas as pd
# 原始数据
df = pd.DataFrame({'col1': [1, 2, 3], 'col2': [4, 5, 6]})
print(df)
# 需要复制的行的索引值
row_index = 1
# 复制该行并添加到新的 dataframe 中
new_df = pd.DataFrame(df.loc[row_index].values.reshape(1, -1), columns=df.columns)
# 新的 dataframe 添加到目标 dataframe 中
target_df = pd.concat([df, new_df], ignore_index=True)
print(target_df)
```