2016-06-13 6 views
1

のために使用したパンダのデータフレームにデータを追加します。のPython 3.xのは、私は空のパンダのデータフレームを持つループ

aqi_df = pd.DataFrame(columns = ["IMEI","Date","pm10conc_24hrs","pm25conc_24hrs","sdPm10","sdPm25","aqi","windspeed","winddirection","severity","health_impact"]) 

私は各列に1によって要素の1を追加したい -

for i in range(1,10): 
    aqi_df.IMEI.append("a") 
    aqi_df.Date.append("b") 
    aqi_df.pm10conc_24hrs.append("c") 
    . 
    . 
    . 

しかし、追加するとエラーが発生します

TypeError: cannot concatenate a non-NDFrame object

どのように要素を1つずつ追加できますか?

+0

エラーがクリアされている、あなたは 'Series'または'を渡す必要がありますDataFrame'を追加するだけでなく、それがなぜ非実行時であるのかという理由だけでなく、各追加呼び出しでdfを繰り返し成長させるので遅くなるでしょう。 – EdChum

答えて

1

あなたが使用することができIIUC:

aqi_df = pd.DataFrame(columns = ["IMEI","Date","pm10conc_24hrs"]) 
print (aqi_df) 


for i in range(1,10): 
    aqi_df.loc[i] = ['a','b','c'] 

print (aqi_df) 
    IMEI Date pm10conc_24hrs 
1 a b    c 
2 a b    c 
3 a b    c 
4 a b    c 
5 a b    c 
6 a b    c 
7 a b    c 
8 a b    c 
9 a b    c 

しかし、より良いがDataFrame from Series or dictを作成している:

IMEI = pd.Series(['aa','bb','cc']) 
Date = pd.Series(['2016-01-03','2016-01-06','2016-01-08']) 
pm10conc_24hrs = pd.Series(['w','e','h']) 

aqi_df = pd.DataFrame({'a':IMEI,'Date':Date,'pm10conc_24hrs':pm10conc_24hrs}) 
print (aqi_df) 
     Date a pm10conc_24hrs 
0 2016-01-03 aa    w 
1 2016-01-06 bb    e 
2 2016-01-08 cc    h 

aqi_df = pd.DataFrame({'a':['aa','bb','cc'], 
         'Date':['2016-01-03','2016-01-06','2016-01-08'], 
         'pm10conc_24hrs':['w','e','h']}) 
print (aqi_df) 
     Date a pm10conc_24hrs 
0 2016-01-03 aa    w 
1 2016-01-06 bb    e 
2 2016-01-08 cc    h 
+0

Th提案のためのanks @ jezrael –

関連する問題