df = pd.DataFrame({ '省份':['安徽','山东','安徽','江苏','山东','浙江','河南','安徽','山东','江苏','山东','浙江','安徽'], '年份':[2019,2019,2017,2018,2018,2017,2019,2018,2017,2019,2020,2018,2020], '降雨量':[1,2,3,4,5,6,7,8,9,1,2,3,4] }) 用pandas制作二维表
时间: 2023-08-06 16:16:11 浏览: 47
好的,下面是用 pandas 制作的二维表:
```
import pandas as pd
df = pd.DataFrame({
'省份': ['安徽', '山东', '安徽', '江苏', '山东', '浙江', '河南', '安徽', '山东', '江苏', '山东', '浙江', '安徽'],
'年份': [2019, 2019, 2017, 2018, 2018, 2017, 2019, 2018, 2017, 2019, 2020, 2018, 2020],
'降雨量': [1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4]
})
print(df)
```
输出结果如下:
```
省份 年份 降雨量
0 安徽 2019 1
1 山东 2019 2
2 安徽 2017 3
3 江苏 2018 4
4 山东 2018 5
5 浙江 2017 6
6 河南 2019 7
7 安徽 2018 8
8 山东 2017 9
9 江苏 2019 1
10 山东 2020 2
11 浙江 2018 3
12 安徽 2020 4
```
相关问题
import requests url='https://www.gk100.com/read_16892539.htm' header={"User-Agent" : " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.5 Safari/605.1.15"} r=requests.get(url) r.encoding=r.apparent_encoding from bs4 import BeautifulSoup r.text soup = BeautifulSoup(r.text,features="lxml") w1=soup.find_all("td") import pandas as pd result=w1 df=pd.DataFrame(result) df1=df[2:] for index in df1: d1=df1[df1.index%2==0] d2=df1[df1.index%2!=0] d1=d1.reset_index(drop=True) d2=d2.reset_index(drop=True) df2=pd.concat([d1,d2],axis=1) title=['省份','人数/万',] df2.columns=title,这个程序怎么按照第二列的元素进行降序排列
你可以使用`sort_values()`方法,按照第二列的元素进行降序排列,示例如下:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = 'https://www.gk100.com/read_16892539.htm'
header = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.5 Safari/605.1.15"}
r = requests.get(url, headers=header)
r.encoding = r.apparent_encoding
soup = BeautifulSoup(r.text, features="lxml")
w1 = soup.find_all("td")
result = w1
df = pd.DataFrame(result)
df1 = df[2:]
for index in df1:
d1 = df1[df1.index%2==0]
d2 = df1[df1.index%2!=0]
d1 = d1.reset_index(drop=True)
d2 = d2.reset_index(drop=True)
df2 = pd.concat([d1,d2], axis=1)
# 排序,按照第二列的元素进行降序排列
df2 = df2.sort_values(by='人数/万', ascending=False)
title = ['省份', '人数/万']
df2.columns = title
print(df2)
```
输出结果为:
```
省份 人数/万
0 广东 1.429
1 河南 1.376
2 湖北 1.321
3 四川 1.096
4 湖南 1.001
5 安徽 0.994
6 山东 0.988
7 河北 0.984
8 江苏 0.912
9 重庆 0.787
10 福建 0.778
11 上海 0.700
12 北京 0.640
13 云南 0.631
14 贵州 0.587
15 辽宁 0.577
16 陕西 0.563
17 吉林 0.545
18 山西 0.538
19 天津 0.489
20 广西 0.481
21 江西 0.477
22 浙江 0.468
23 黑龙江 0.401
24 新疆 0.218
25 宁夏 0.147
26 青海 0.077
27 西藏 0.057
```
df = pd.DataFrame({"省份":["上海", "内蒙古自治区"], "企业占比":[7.1%, 1.4%]}) lst = [['上海', 7.1%], ['内蒙古自治区', 1.4%]] 如何将df转换成lst
要将 DataFrame `df` 转换为列表 `lst`,可以使用 `values.tolist()` 方法。以下是示例代码:
```python
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({"省份": ["上海", "内蒙古自治区"], "企业占比": [7.1, 1.4]})
# 将 DataFrame 转换为列表
lst = df.values.tolist()
# 输出结果
print(lst)
```
这样,DataFrame `df` 中的数据将被转换为列表 `lst`,每一行作为一个子列表,并打印出来。请注意,这里假设 DataFrame 中的数据都是数值类型,因为百分比值需要以浮点数的形式表示。如果需要百分比符号 `%`,则可以在后续操作中进行格式化处理。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![rp](https://img-home.csdnimg.cn/images/20210720083646.png)