如何填写缺失的列值?

How to fill in missing column value?

# Import libraries
from bs4 import BeautifulSoup
import requests
import pandas as pd
import time
import ast

start_time = time.time()
s = requests.Session()

#Get URL and extract content
page=1
traits = []
accessories, backgrounds, shoes = [], [], []

while page != 100:

    params = {
        ('arg', f"Qmer3VzaeFhb7c5uiwuHJbRuVCaUu72DcnSoUKb1EvnB2x/{page}"),
    }

    content = s.get('https://ipfs.infura.io:5001/api/v0/cat', params=params, auth=('', ''))
    soup = BeautifulSoup(content.text, 'html.parser')
    page = page + 1
    
    traits = ast.literal_eval(soup.text)['attributes']

    df = pd.DataFrame(traits)
    df1 = df[df['trait_type']=='ACCESSORIES']

    accessories.append(df1['value'].values[0])

当我运行上面的代码时,我得到以下错误:

IndexError: index 0 is out of bounds for axis 0 with size 0

发生这种情况是因为并非每个项目都具有“ACCESSORIES”特征数据点。那么对于那些没有空值、nan 或 0 值的项目,我将如何在 ACCESSORIES 特征中处理 adding/filling?

以下代码解决了这个问题:

# Import libraries
from bs4 import BeautifulSoup
import requests
import pandas as pd
import time
import ast

start_time = time.time()
s = requests.Session()

#Get URL and extract content
page=1
traits = []
accessories, backgrounds, shoes = [], [], []

while page != 100:

    params = {
        ('arg', f"Qmer3VzaeFhb7c5uiwuHJbRuVCaUu72DcnSoUKb1EvnB2x/{page}"),
    }

    content = s.get('https://ipfs.infura.io:5001/api/v0/cat', params=params, auth=('', ''))
    soup = BeautifulSoup(content.text, 'html.parser')
    page = page + 1
    
    traits = ast.literal_eval(soup.text)['attributes']

    df = pd.DataFrame(traits)
    df1 = df[df['trait_type']=='ACCESSORIES']

    try:
        accessories.append(df1['value'].values[0])
    except:
        'NONE'