

pandasで、データを追加したいのですが、どうすればいいのかが分かりません。  
appendで出来るのかと思ったのですが、コラムで指定したデータに入れたいデータが入りません。  
0がラベル名になって、pandasで縦にデータが並んでしまいます。  
私は、columnsで指定したラベル名にリストを入れたいのです。  
listの順番と、コラムの指定の順番は同じになっています。

[code]

    data_set_list = [10,1,2]
    a = pd.DataFrame(columns=["V", "I", "1"])
    a.append(data_set_inst)
    
[/code]

データフレームを空で用意せずに直で入れればいいじゃないかと言うのはそうなのですが、  
実際のコードでは、listとなるデータを追加で入れていく形にしたいので、追加できるようにしたいのです。

追記

[code]

    data_set_list = []
    
    data_set_list.append(x)  
    
    df = pd.DataFrame(data_set_list,
                      columns=['V', 'I', '1'])
    
    
[/code]

appendの部分は、for文で繰り返す予定ですが、  
このような感じ宜しいのでしょうか？


CC BY-SA 4.0
2021-09-15T13:45:52.650
82512
2021-09-16T00:51:23.030
2021-09-15T23:17:07.783
42741
42741
question
python pandas
pandasでうまくデータを追加できません。


リストを`Series`に変換すると行を追加できます。

[code]

    import pandas as pd
    
    data_set_list = [10,1,2]
    a = pd.DataFrame(columns=["V", "I", "1"])
    series = pd.Series(data_set_list, index=a.columns)
    a.append(series, ignore_index=True)
    print(a)
    
    #    V  I  1
    #0  10  1  2
    
[/code]

参考資料:  
[pandas.DataFrameに１行ずつ書き足す早い方法を調べた](https://qiita.com/studio_haneya/items/35951c56decd212ba41e)  
[pandas.DataFrameに列や行を追加（assign, appendなど）](https://note.nkmk.me/python-
pandas-assign-append/)


CC BY-SA 4.0
2021-09-15T13:59:09.890
82513
2021-09-15T13:59:09.890
9820
82512
answer


辞書(dict)に変換して追加する方法

[code]

    import pandas as pd
    
    data_set_list = [10,1,2]
    a = pd.DataFrame(columns=["V", "I", "1"])
    for _ in range(1000):
        a = a.append(dict(zip(a.columns, data_set_list)), ignore_index=True)
    
    display(a)
    
[/code]

* * *

(念の為)  
pandasで一つ一つデータ追加していくと遅いので  
可能なら, list or dictでデータを蓄えたほうがよいかも (最後に DataFrameに一括変換)

* * *

#### 追記

list で蓄える場合

[code]

    data_set_list = []
    for n in range(1000):
        data_set_list.append([10,n,2])
    
    df = pd.DataFrame(data_set_list,
                      columns=['V', 'I', '1'])
    df
    #       V   I   1
    #  0    10  0   2
    #  1    10  1   2
    #  2    10  2   2
    #  3    10  3   2
    #  4    10  4   2
    #...    ... ... ...
    #995    10  995 2
    #996    10  996 2
    #997    10  997 2
    #998    10  998 2
    #999    10  999 2
    #1000 rows × 3 columns
    
[/code]


CC BY-SA 4.0
2021-09-15T14:08:14.990
82514
2021-09-16T00:51:23.030
2021-09-16T00:51:23.030
43025
43025
82512
answer