2016-09-18 12 views
0

現在、私のcsvファイル内の特定の列からデータフレームを作成しています。私はデータフレームの値からリストを作成していますが、データフレームの最初の要素をスキップして、リストには含めません。それをどうやって行うことができますか?リストの作成時にpandasデータフレームの最初の行をスキップ

ここで私が機能している使用しているコードです:

df = pd.read_csv(filename, header = None, error_bad_lines = False, usecols = [9], names = 
['addresses']) 
addresses = df['addresses'].tolist() 
addresses = [x for x in addresses if str(x) != 'nan'] 
+0

、あなただけの '' DF = df.dropna()を使用することができます。 – ayhan

答えて

2

私はあなたがindexing[1:]を使用することができると思う - 最初を除くすべての値を選択:

addresses = [x for x in addresses[1:] if str(x) != 'nan'] 

または:

addresses = df.loc[1:, 'addresses'].tolist() 
は、

サンプル:

df = pd.DataFrame({'addresses':[4,8,7]}) 
print (df) 
    addresses 
0   4 
1   8 
2   7 

addresses = df.loc[1:, 'addresses'].tolist() 
print (addresses) 
[8, 7] 

別の解決策、感謝Nickil Maveli:あなたの問題は、NaNをしている場合

import pandas as pd 
import io 

temp=u"""10 
20 
30 
""" 
#after testing replace io.StringIO(temp) to filename 
df = pd.read_csv(io.StringIO(temp), header=None, skiprows=[0], names=['addresses']) 
print (df) 
    addresses 
0   20 
1   30 
+0

これは美しく機能しました。私はそれを受け入れるつもりです。 – Harrison

+0

また、 'skiprows = [0]'を指定することで、読み込み中に最初の行をスキップすることもできます。 –

関連する問題