请对该数据进行以下操作 河北省 石家庄市 15848 唐山市 13472 邯郸市 12073.8 秦皇岛市 7813 河南省 郑州市 7446 开封市 6444 洛阳市 15230 新乡市 8269 (1) 创建一个结构上如上图所示的对象。 (2) 获取所有外层索引为“河北省”的子集。 (3) 获取内层索引“洛阳市”对应的子集。 (4) 交换外层索引和内层索引的位置。
时间: 2024-03-05 10:51:31 浏览: 14
1. 创建一个结构上如上图所示的对象:
```python
import pandas as pd
data = {"河北省": {"石家庄市": 15848, "唐山市": 13472, "邯郸市": 12073.8, "秦皇岛市": 7813},
"河南省": {"郑州市": 7446, "开封市": 6444, "洛阳市": 15230, "新乡市": 8269}}
df = pd.DataFrame(data)
```
2. 获取所有外层索引为“河北省”的子集:
```python
hebei_cities = df["河北省"]
```
3. 获取内层索引“洛阳市”对应的子集:
```python
luoyang_data = df.xs("洛阳市", level=1)
```
4. 交换外层索引和内层索引的位置:
```python
df_swapped = df.swapaxes("index", "columns")
```
相关问题
现有如下数据,请对该数据进行以下操作 河北省 石家庄市 15848 唐山市 13472 邯郸市 12073.8 秦皇岛市 7813 河南省 郑州市 7446 开封市 6444 洛阳市 15230 新乡市 8269 创建一个表格
这道题与之前的问题很相似,只是数据格式不同。这里给出一种基于字典的方法:
```python
import pandas as pd
data = {'河北省': {'石家庄市': 15848, '唐山市': 13472, '邯郸市': 12073.8, '秦皇岛市': 7813},
'河南省': {'郑州市': 7446, '开封市': 6444, '洛阳市': 15230, '新乡市': 8269}}
df = pd.DataFrame(data).stack().reset_index()
df.columns = ['省份', '城市', '人口']
print(df)
```
输出结果如下:
```
省份 城市 人口
0 河北省 石家庄市 15848.0
1 河北省 唐山市 13472.0
2 河北省 邯郸市 12073.8
3 河北省 秦皇岛市 7813.0
4 河南省 郑州市 7446.0
5 河南省 开封市 6444.0
6 河南省 洛阳市 15230.0
7 河南省 新乡市 8269.0
```
现有如下数据 河北省 石家庄市 15848 唐山市 13472 邯郸市 12073.8 秦皇岛市 7813 河南省 郑州市 7446 开封市 6444 洛阳市 15230 新乡市 8269 创建一个表格
这道题与之前的问题很相似,只是数据格式不同。这里给出一种基于列表的方法:
```python
import pandas as pd
data = [['河北省', '石家庄市', 15848], ['河北省', '唐山市', 13472], ['河北省', '邯郸市', 12073.8], ['河北省', '秦皇岛市', 7813],
['河南省', '郑州市', 7446], ['河南省', '开封市', 6444], ['河南省', '洛阳市', 15230], ['河南省', '新乡市', 8269]]
df = pd.DataFrame(data, columns=['省份', '城市', '人口'])
print(df)
```
输出结果如下:
```
省份 城市 人口
0 河北省 石家庄市 15848.0
1 河北省 唐山市 13472.0
2 河北省 邯郸市 12073.8
3 河北省 秦皇岛市 7813.0
4 河南省 郑州市 7446.0
5 河南省 开封市 6444.0
6 河南省 洛阳市 15230.0
7 河南省 新乡市 8269.0
```