python中如何根据数组列名称,选取几列组成新的数组
时间: 2023-02-08 13:49:48 浏览: 179
可以使用pandas库中的DataFrame类和loc属性来实现。
示例代码:
``` python
import pandas as pd
# 假设原始数组为df
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 选取列名为'A'和'C'的列组成新数组
new_df = df.loc[:, ['A', 'C']]
```
这样,new_df就是一个只包含A和C两列的新数组了。
相关问题
python提取array里的某几列
在Python中,如果你正在处理Pandas DataFrame而不是纯数组,可以轻松地从DataFrame中选择特定列。Pandas库提供了一个`loc`或`iloc`函数来实现这个操作。
例如,如果你有一个名为df的DataFrame,你想提取第1、3和4列,你可以这样做:
```python
selected_columns = df.loc[:, ['column1', 'column3', 'column4']]
```
这里,`:`表示所有行,`['column1', 'column3', 'column4']`是你想要选择的列名列表。
如果你确实是在处理NumPy数组(ndarray),并且它有明确的列索引,你可以通过列名获取列,但这通常发生在字典或结构化数组中,比如:
```python
import numpy as np
arr = np.core.records.fromarrays([...], names=['col1', 'col2', 'col3'])
selected_cols = arr[['col1', 'col3']]
```
在这个例子中,`names`属性是列名,`[['col1', 'col3']]`选取的是特定的列。
如果只想选取某几列的数据,应该怎么做
如果你只想选取某几列的数据,可以在加载数据集时直接指定需要的列。比如说,如果你想要选取数据集中的第1、3、5列,可以这样实现:
```python
data = pd.read_csv('data.csv', usecols=[0, 2, 4])
```
其中,`usecols`参数可以接受一个列表,列表中的元素为需要选择的列的索引。在本例中,我们选择了第0、2、4列,即数据集中的第1、3、5列。读入数据后,`data`变量将只包含这些列的数据。
如果你想要选择某一列或某几列,可以使用`iloc`函数,例如:
```python
X = data.iloc[:, [0, 2]].values
```
其中,`:`表示选择所有的行,`[0, 2]`表示选择第1列和第3列,`values`表示将所选的数据转化为numpy数组,这里得到的`X`变量将只包含第1列和第3列的数据。
阅读全文