怎么将DataFrame中的某几列重新生成一个DataFrame
时间: 2023-07-25 08:09:43 浏览: 51
可以使用`pandas`库的`DataFrame`中的`loc`函数,选择需要的列并生成新的`DataFrame`。
比如,假设有以下`DataFrame`:
```
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]})
```
如需将'A'和'B'列重新生成一个新的`DataFrame`,可以使用以下代码:
```
new_df = df.loc[:, ['A', 'B']]
```
其中`loc`函数中的第一个参数为行索引的范围,使用':'表示选择所有行;第二个参数为需要选择的列名,使用列表格式表示。以上代码将生成以下新的`DataFrame`:
```
A B
0 1 4
1 2 5
2 3 6
```
相关问题
dataframe如何选中几列成为一个新的dataframe
要选中几列成为一个新的dataframe,可以使用pandas的loc或iloc方法。loc方法根据行标签和列标签进行索引,iloc方法则根据行索引和列索引进行索引。
假设我们有一个dataframe df,想要选中列名为col1和col2的两列成为一个新的dataframe,可以使用如下代码:
```
new_df = df.loc[:, ['col1', 'col2']]
```
或者使用iloc方法:
```
new_df = df.iloc[:, [0, 1]]
```
这两个方法都会选中第一列和第二列,生成一个新的dataframe。如果需要选中连续的列,可以使用冒号(:)来表示。例如,选中第1列到第3列,可以使用以下代码:
```
new_df = df.iloc[:, 0:3]
```
dataframe如何用几列数据的求和生成新列
可以使用pandas库中的DataFrame的apply()方法来对几列数据求和生成新列。具体操作如下:
假设我们有一个DataFrame df,其中有三列数据 a、b、c,我们需要对a、b、c这三列数据求和生成新列d,可以使用以下代码:
```
df['d'] = df.apply(lambda row: row['a'] + row['b'] + row['c'], axis=1)
```
其中,lambda函数用来对每一行数据进行求和,axis=1表示对每一行进行操作。
执行完上述代码后,新列d就会被添加到DataFrame中,每一行的值为该行对应的a、b、c三列数据的和。