パンダのデータフレームの最初の3行を削除する必要があります。
df.ix[:-1]
最後の行を削除することはわかっていますが、最初のn行を削除する方法がわかりません。
パンダのデータフレームの最初の3行を削除する必要があります。
df.ix[:-1]
最後の行を削除することはわかっていますが、最初のn行を削除する方法がわかりません。
回答:
groupby()
ますか?これは機能しますが、インデックスに重複した列が返されますdf=pd.DataFrame({'v':np.arange(10).tolist()*2,'g':['a']*10+['b']*10});df.groupby('g').apply(lambda x: x.iloc[3:])
df=df.iloc[3:9]
?
pd.concat()
。のようなものdf2 = pd.concat([df.iloc[:3],df.iloc[10:]])
。
これを行うためのより明確な方法は、ドロップを使用することだと思います。
構文は次のとおりです。
df.drop(label)
そして、@ timと@ChaimGで指摘されているように、これはインプレースで実行できます。
df.drop(label, inplace=True)
これを実装する1つの方法は次のとおりです。
df.drop(df.index[:3], inplace=True)
そして、もう1つの「インプレース」使用:
df.drop(df.head(3).index, inplace=True)
drop
(追加の割り当てなしで)インプレースで計算することもできます。速くて簡単!
df.drop(label, inplace=True)
Pythonスライシングを使用できますが、インプレースではないことに注意してください。
In [15]: import pandas as pd
In [16]: import numpy as np
In [17]: df = pd.DataFrame(np.random.random((5,2)))
In [18]: df
Out[18]:
0 1
0 0.294077 0.229471
1 0.949007 0.790340
2 0.039961 0.720277
3 0.401468 0.803777
4 0.539951 0.763267
In [19]: df[3:]
Out[19]:
0 1
3 0.401468 0.803777
4 0.539951 0.763267
pandas
ですか?
inp0 = pd.read_csv( "bank_marketing_updated_v1.csv"、skiprows = 2)
または既存のデータフレームで実行したい場合
次のコマンドを実行するだけです
header=3
ヘッダー行としてその行を設定しますコンストラクタの引数を:stackoverflow.com/a/51822697/191246