2017-09-13 11 views
1

フィルタ: PythonのパンダIのpython-パンダで特定の行をフィルタ処理しようとしています

df = pd.read_csv('file.csv', delimiter=',', header=None,engine='python', usecols=range(0, 7), error_bad_lines=False) 

df = df.drop(df.index[9:86579]) 

df = df[df[[0,1]].apply(lambda r: r.str.contains('TestString1', case=False).any(), axis=1)] 

df.to_csv("yourcsv.csv", index=False, header=None)# 

は今どのように私は、開始行を設定することができますか?私の行「0-10」は情報で構成されており、11行目のキーワードで検索を開始したいのですが、どうですか?

答えて

0

この試してみてください:あなたが行を削除し、「参照」したくない場合は、ILOC機能を使用することができ、あなたのデータフレームのみ、特定の行から

df.iloc[11:].to_csv("yourcsv.csv", index=False, header=None) 
+0

ありがとうございました。これはうまくいっていますが、この行の次の行の次の行です: df = df [df [[0,2]]。apply(lambda:r.str.contains( 'CVE-2016'、case = False).any()、axis = 1)] しかし、私は文字列の検索/一致のために行を除外したいと思っています – TigerClaw

0

を:

df["column name"].iloc[11:].apply(function) 

この例であなたを11行目から最後の行まで取得して機能を適用してください。

DataFrame.iloc

位置による選択のために純粋な整数位置ベースのインデックス。

入力は次のとおりです。

整数です。 5.

  • 整数のリストまたは配列。 [4,3,0]。

  • intを持つスライスオブジェクト。 1:7である。

  • ブール配列です。

  • 一つの引数(呼び出しシリーズ、データフレーム又はパネル)呼び出し可能な機能とそれがインデックス作成のための有効な出力を返す(上記のもの)

.iloc[]主整数位置が基づいている(から0length-1)、ブール配列で使用することもできます。

+0

私はどうしたいのですか? ここで、この私の作品: #は最初の10行 DF1 = pd.DataFrame([:10] df.iloc)を除外列0と2で #マッチ言葉を、私に行 DF2の=のDFを示し[DF [[0,2]]。apply(ラムダ:r.str.contains( 'CVE-2016'、case = False)。 #除外された行とフィルタされた行を組み合わせる df = pd.concat([df1、df2]、axis = 0) – TigerClaw

0

私の行「0-10」は情報で構成されていて、行11のキーワードで検索を開始したいからです。

フィルタを後で動作させるための条件として最初の10行を使用する必要がある場合は、行ごとに反復してnp.whereを使用できます。

これが当てはまらない場合は、他の2つの回答(John、Rafael)が既に問題を解決しているので、投票できるようになります。

関連する問題