dataframe保留其中两列形成新的dataframe
时间: 2023-11-18 19:07:22 浏览: 105
假设你有一个名为 `df` 的 DataFrame,其中包含多列数据,你想保留其中两列形成新的 DataFrame,你可以使用 `loc` 或 `iloc` 方法进行切片操作。
例如,假设你想保留 `df` 中的 `column1` 和 `column2` 两列,你可以使用以下代码创建一个新的 DataFrame:
```python
new_df = df.loc[:, ['column1', 'column2']]
```
或者使用以下代码:
```python
new_df = df.iloc[:, [0, 1]]
```
上述代码中,`loc` 方法使用列名进行切片,而 `iloc` 方法使用列的索引进行切片。在这两种情况下,`:` 表示选取所有行。
相关问题
根据索引将一个dataframe的某两列添加到另一个dataframe的某两列
假设有两个dataframe,df1和df2,它们的结构如下:
df1:
| ID | Name |
| ---- | ------ |
| 001 | Tom |
| 002 | Jerry |
| 003 | Mary |
df2:
| ID | Age |
| ---- | --- |
| 001 | 20 |
| 002 | 18 |
| 003 | 22 |
现在要将df2的Age列和ID列添加到df1的Age和ID列中,可以使用merge函数进行合并:
```python
merged_df = pd.merge(df1, df2[['ID', 'Age']], on='ID')
merged_df.rename(columns={'Age': 'New_Age'}, inplace=True)
merged_df[['ID', 'New_Age']].join(df1['Name'])
```
解释一下代码:
1. 使用merge函数,将df1和df2根据ID列进行合并,只保留ID和Age两列。
2. 将合并后的Age列重命名为New_Age。
3. 选择ID和New_Age列,并加入df1的Name列,形成新的dataframe。
最终的结果如下:
| ID | New_Age | Name |
| ---- | ---------| ------ |
| 001 | 20 | Tom |
| 002 | 18 | Jerry |
| 003 | 22 | Mary |
只保留DataFrame中的两列数据
可以使用 `df[[列名1, 列名2]]` 来只保留 DataFrame 中的两列数据。例如,假设有一个 DataFrame `df`,其中包含列名为 `col1`、`col2`、`col3` 的三列数据,如果只想保留 `col1` 和 `col2` 两列,可以这样操作:
``` python
df = df[['col1', 'col2']]
```
这样就可以只保留 `col1` 和 `col2` 两列数据了。
阅读全文