python 将属性类到Pandas Dataframe

nr9pn0ug  于 2022-12-10  发布在  Python
关注(0)|答案(1)|浏览(122)

我想知道如何让我的pandas数据框架从给定的类属性中获取数据。我的代码如下所示:

import pandas as pd

class Surfers:
    def __init__(self):
        self.name_full: str = None
        self.contest_round: str = None
        self.score: str = None

    def __repr__(self):
        name_to_show: str = ''
        if self.name_full is not None:
            name_to_show = self.name_full
        round_to_show: str = ''
        if self.contest_round is not None:
            round_to_show = self.contest_round
        score_to_show: str = ''
        if self.score is not None:
            score_to_show = self.score
        return f"{name_to_show}, {round_to_show}, {score_to_show}"

#This is just an example, I am actually scraping to get these values
surfer1 = Surfers()
surfer1.contest_round = '2'
surfer1.name_full = "Kelly Slater"
surfer1.score = '15.75'

我希望我的 Dataframe 最终看起来像这样:

Name            Round      Score

Kelly Slater    2          15.75

我想知道如何使用panda来获取name_fullcontest_roundscore属性以获得此 Dataframe 。

g2ieeal7

g2ieeal71#

import pandas as pd
# 

class Surfers:
    def __init__(self):
        self.name_full: str = None
        self.contest_round: str = None
        self.score: str = None

    def __repr__(self):
        name_to_show: str = ''
        if self.name_full is not None:
            name_to_show = self.name_full
        round_to_show: str = ''
        if self.contest_round is not None:
            round_to_show = self.contest_round
        score_to_show: str = ''
        if self.score is not None:
            score_to_show = self.score
        return f"{name_to_show}, {round_to_show}, {score_to_show}"

#This is just an example, I am actually scraping to get these values
surfer1 = Surfers()
surfer1.contest_round = '2'
surfer1.name_full = "Kelly Slater"
surfer1.score = '15.75'
str1 = str(surfer1)
data_list = str1.split(", ")
data = [data_list]
  
# Create the pandas DataFrame
df = pd.DataFrame(data, columns=['Name', 'Round', 'Score'])

print(df)

相关问题