2017-02-25 9 views
0

私はPythonでpandasを使用しているときに問題が発生します。pandasはindex_col関数で空行をスキップしません

私はデータフレームを国の列を使用してインデックスする必要があります。

tvdf = pd.read_csv(infile, sep=',', header=2, skiprows=[3], nrows=40, index_col='Country', skip_blank_lines=True) 

0 Televison, Physicians, and Life Expectancy 
1 NaN, NaN, NaN, NaN, NaN, NaN 
2 country, life expectancy, people/TV, people/physician, female life expectancy, male life expectancy 
3 NaN, NaN, NaN, NaN, NaN, NaN (I need to skip this line) 
4 value, value, value, value, value, value, 
5 value, value, value, value, value, value, 
... 
... 

私はこのようなヘッダと第1実データ線との間の空白行をスキップしようとした:しかし、CSVファイルは次のようになり、列行の後に空行がありますリターンとして、カントリーコラムをインデックスとして成功させました。ただし、skiprowsもskip_blank_linesもindex_col関数内では機能しません。私の解釈は:私はインデックスとして国の列を使用する場合、最初のインデックス名として空の行(NaN)を認識します。また、skiprowsもskip_blank_linesもindex_col関数で有効になりません。私はindex_colなしでそれを試しました、それは自動的にskiprowsまたはskip_blank_linesステートメントなしで値のない行をスキップします。

私はこの問題をオンラインで検索しており、関連する問題は見つかりませんでした。 この段階では、おそらく私はcvsファイルを操作して空の行を手動で削除するか、誰かがそれを扱う経験を持っていますか?

私はあなたの助けに感謝します!

答えて

0

使用skiprows=[0, 1, 3]

pd.read_clipboard(
    sep=',', skipinitialspace=True, skiprows=[0, 1, 3] 
) 

enter image description here

関連する問題