繁体   English   中英

Class属性为pandas dataframe

[英]Class attributes to pandas dataframe

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

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

我想知道如何使用 pandas 获取name_fullcontest_roundscore属性来获得这个 dataframe。

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM