2017-12-30 14 views
1

空のデータフレームがすでに列で設定されていて、行は設定されていないとします。私はウェブからいくつかのデータを削っているので、空のデータフレームにインデックス'2176'を追加する必要があるとしましょう。私はそれを割り当てようとすると自動的にこの行をデータベースに追加できますか?これもパンダ目的ですか、それとも別のものを使うべきですか?DataFrameに動的に行を追加する

答えて

1
import pandas as pd 

df = pd.DataFrame(columns=['foo1','foo2']) 

df.loc[2176,'foo1'] = 'my_value' 

DFは次のようになります。

 foo1  foo2 
2176 my_value NaN 
2

.locする代わりに、あなたはatを検討する必要があります。

# @NickBraunagel's solution 
%timeit df.loc['2716', 'foo1'] = 10 
1000 loops, best of 3: 212 µs per loop 

# the at solution 
%timeit df.at['2716', 'foo1'] = 10 
100000 loops, best of 3: 12.5 µs per loop 

あなたがで複数の列項目を追加したい場合は、次のNickBraunagelの例@使用:

 foo1 foo2 
2716 10 NaN 

タイミングがかなり異なっている

df = pd.DataFrame(columns=['foo1','foo2']) 

その後

df.at['2716', 'foo1'] = 10 

利回り同時に、あなたはできる:

d = {'foo1': 20, 'foo2': 10} 
df.at['1234', :] = d 

あなただけ(この例で働く)一度に一つの値/セルを更新していると仮定すると、

 foo1 foo2 
2716 10 NaN 
1234 20 10 
+1

グッドコールを得ました。参考までに:https://stackoverflow.com/a/372​​16587/4245462 – NickBraunagel

+2

@NickBraunagel:この仮定は、OPが単一行について話していたので有効です。参照ありがとう! – Cleb

関連する問題