python - 如何从多个列表中创建一列?
问题描述
每当我发布以下代码时,输出都是一组列表,但是如何将它们组织成一列?
# Import libraries
from bs4 import BeautifulSoup
import requests
import pandas as pd
import numpy as np
#Get URL and extract content
class Scraper():
page=1
traits = []
while page != 10:
content = requests.get('https://raw.githubusercontent.com/recklesslabs/wickedcraniums/main/{}'.format(page))
soup = BeautifulSoup(content.text, 'html.parser')
page = page + 1
dic_list = list(map(eval, soup))
for dic in dic_list:
traits = dic["attributes"]
df = pd.DataFrame.from_dict(traits, orient='columns').to_numpy()
df1 = list(np.concatenate(df[0:1]))
print(df1)
当我使用上面的代码时,我得到这个输出:
['Background', 'Zeus']
['Background', 'BlueWhale']
['Background', 'ViolentViolet']
['Background', 'MardiGras']
['Background', 'WoodBark']
['Background', 'ViolentViolet']
['Background', 'MidnightExpress']
['Background', 'Maire']
['Background', 'Pohutukawa']
如何只制作一列列出所有背景,使其看起来像这样:
Background
0 Zeus
1 BlueWhale
2 ViolentViolet
3 MardiGras
4 WoodBark
5 ViolentViolet
6 MidnightExpress
7 Maire
8 Pohutukawa
除了上述内容之外,我还将如何查找每个项目的计数,使其显示为:
Background
Zeus - 1
BlueWhale - 1
ViolentViolet - 2
MardiGras - 1
WoodBark - 1
MidnightExpress - 1
Maire - 1
Pohutukawa - 1
解决方案
# Import libraries
from bs4 import BeautifulSoup
import requests
import pandas as pd
import numpy as np
backgrounds = []
#Get URL and extract content
class Scraper():
page = 1
traits = []
while page != 10:
content = requests.get('https://raw.githubusercontent.com/recklesslabs/wickedcraniums/main/{}'.format(page))
soup = BeautifulSoup(content.text, 'html.parser')
page = page + 1
dic_list = list(map(eval, soup))
for dic in dic_list:
traits = dic["attributes"]
# df = pd.DataFrame(traits)
df = pd.DataFrame.from_dict(traits)
df = df[df['trait_type']=='Background']
backgrounds.append(df['value'].values[0])
df = pd.DataFrame({'Backgrounds': backgrounds})
l1 = df['Backgrounds']
print(l1)
value_counts = df['Backgrounds'].value_counts()
l2 = [f"{key} - {value_counts[key]}" for key in value_counts.keys()]
print(l2)
推荐阅读
- python - Django中特定路由的自定义身份验证中间件
- cakephp - 缺少或不正确的 CSRF cookie 类型
- jpa - 我怎样才能通过 JPQL 加入他们的最大行数?
- swift - SwiftUI: Can't trigger Class function in View
- javascript - Vue3.js如何用组件标签渲染html?
- azure-active-directory - 授予所有必需的权限后,图形 API 访问被拒绝
- reactjs - Redux 批处理在 React Native 应用程序上无法正常工作
- php - 如何在 Livewire 中创建动态表单
- testing - 如何在不重新登录的情况下测试仪表板?
- python - 使用 unicode_escape 编码后如何解码?