2017-09-26 7 views
0

私はPythonでいくつかの経験があり、クラスを使用していくつかのデータファイルを操作したいと思っています。主にOOPでの経験を得るためです。このシナリオは次のとおりです。テストする各サンプル(sample_1など)について、ツールは次の構造のテキストデータファイル(sample_1_fileなど)を生成します(ファイルには異なるデータセクションがあります)。Pythonでのデータ操作にクラスを使用するにはどうすればよいですか?

test_type_I, meta_data_I 
{data_I = n1 rows x m1 columns} 

test_type_II, meta_data_II 
{data_II = n2 rows x m2 columns} 

test_type_III 
{data_III = n3 rows x m3 columns} 
. 
. 
and so on 

私が達成したいのは、各データセクションのtest_type、meta_data、およびdataにアクセスし、必要に応じてデータを操作できることです。

sample_1.meta_data_I 
plot(sample_1.data_I['x'],sample_1.data_I['y']) 
print(sample_1.data_I) 
and so on 

私はクラスについて読んだことがある、といくつかのユーチューブのビデオを見ている:例えば、私は、データファイルの異なるセクションにアクセスできるようにしたい私は

sample_1 = myClass(sample_1_file) 

のようなオブジェクトを作成すると言います、典型的な従業員クラスなど。

1. What does my __init__ method take as input? 
2. What am I initializing? 
3. What would be my typical methods? 
4. What are the data for my class 

は私がPythonの(そしてパンダ)での単純な関数でやりたいことができますが、私は本当にクラスで経験を積むと、何かにそれを適用したいしたい:しかし、私の場合には、ここに私の質問ですそれは私の仕事に関連しています。私はこれを見つけました:How to overload __init__ method based on argument type? これはいくつかの関連性がありますが、答えは私がよく慣れていない高度な概念を使用しています。

答えて

1

クラスの最も単純なバージョンは次のようになります。

class SampleResult(): 
    def __init__(self, sample_number, sample_dataframe): 
     self.number = sample_number 
     self.data = sample_dataframe 

その後、次で、このクラスのインスタンスを作成します:

result1 = SampleResult(1, sample1_dataframe)

あなたがデータにアクセスし、例えば、:

このコードでは、SampleResultオブジェクトのインスタンスをインスタンス化しています。 __init__メソッドで好きなパラメーターを取ることができますが、すべてのメソッドは少なくとも1つのパラメーターselfを受け入れる必要があります(「self」という名前は単なる規約ですが、非常に強力な規則です)。

あなたの方法とデータはあなた次第です。あなたのやりたいことに依存します!

関連する問題