2016-04-18 49 views
6

私はfollを持っています。データフレーム:私は、このデータフレームの列名ABを削除するにはどうすればよいpandasデータフレームからヘッダー列を削除

DF

A B 
0 23 12 
1 21 44 
2 98 21 

? 1つの方法は、それをcsvファイルに書き込んだ後、header = Noneを指定することです。 csvに書き直して再読することなくそれを行う方法はありますか?

+0

df.columns = [''] * 2? –

+0

なぜあなたはそれらを削除したいですか? – Alexander

+0

私はそれらが存在しないと仮定する関数を持っています – user308827

答えて

7

私はあなただけshaperangeによってそれらをリセットし、列名を削除カントと思う:

print df.shape[1] 
2 

print range(df.shape[1]) 
[0, 1] 

df.columns = range(df.shape[1]) 
print df 
    0 1 
0 23 12 
1 21 44 
2 98 21 

これはto_csvread_csvを使用するのと同じです:skiprows

print df.to_csv(header=None,index=False) 
23,12 
21,44 
98,21 

print pd.read_csv(io.StringIO(u""+df.to_csv(header=None,index=False)), header=None) 
    0 1 
0 23 12 
1 21 44 
2 98 21 

次のソリューション:

print df.to_csv(index=False) 
A,B 
23,12 
21,44 
98,21 

print pd.read_csv(io.StringIO(u""+df.to_csv(index=False)), header=None, skiprows=1) 
    0 1 
0 23 12 
1 21 44 
2 98 21 
+0

これは行または列のインデックスを再計算する非常にスマートな方法です – Rockbar

+1

ありがとう。いい日。 – jezrael

2

ヘッダー(第1行)と索引(第1列)を取り除く方法。あなたは、ヘッダーが含まれていないCSVファイルを読みたい場合は、追加のパラメータheaderを渡す

df = pandas.read_csv('your_array.csv') 
a = df.values 

:CSVファイルから読み込むに

df = pandas.DataFrame(your_array) 
df.to_csv('your_array.csv', header=False, index=False) 

:CSVファイルに書き込む

df = pandas.read_csv('your_array.csv', header=None) 
関連する問題