2016-09-18 62 views
0

我當前正在從csv文件中的特定列創建數據框。然後我從數據框中的值創建一個列表,但我會查看跳過數據框中的第一個元素,而不是將其包含在我的列表中。我該怎麼做呢?在創建列表時跳過熊貓數據框中的第一行

下面是我使用的是功能代碼:

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

如果你的問題是NaN的,你可以用'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

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]',您可以在閱讀過程中跳過第一行。 –