dataframe提取多层数据
时间: 2023-09-14 15:14:39 浏览: 98
神经网络找规律实验数据集-数据集
要从多层数据中提取数据,可以使用.loc或.iloc方法。.loc方法使用标签索引,而.iloc方法使用整数索引。
假设我们有一个多层数据的DataFrame,其中每个索引都有两个级别。下面是一个示例DataFrame:
```
import pandas as pd
data = {
('A', 'X'): [1, 2, 3],
('A', 'Y'): [4, 5, 6],
('B', 'X'): [7, 8, 9],
('B', 'Y'): [10, 11, 12]
}
df = pd.DataFrame(data, index=['row1', 'row2', 'row3'])
print(df)
```
输出:
```
A B
X Y X Y
row1 1 4 7 10
row2 2 5 8 11
row3 3 6 9 12
```
要提取第一个索引为'A'的所有行,可以使用.loc方法:
```
a_data = df.loc['A']
print(a_data)
```
输出:
```
X Y
row1 1 4
row2 2 5
row3 3 6
```
要提取第二个索引为'Y'的所有列,可以使用.loc方法和切片:
```
y_data = df.loc[:, (slice(None), 'Y')]
print(y_data)
```
输出:
```
A B
Y Y
row1 4 10
row2 5 11
row3 6 12
```
注意,我们在切片中使用了slice(None),这表示我们要选择所有的第一个级别的索引。如果我们想要选择所有的第二个级别的索引,我们可以使用slice(None, None)。
阅读全文