pandasでdataframeの非数値行を見つける?
2023-12-17 21:06:50
質問
pandasに大きなデータフレームがあり、インデックスとして使用されている列は別として、数値のみを持つことになっています。
df = pd.DataFrame({'a': [1, 2, 3, 'bad', 5],
'b': [0.1, 0.2, 0.3, 0.4, 0.5],
'item': ['a', 'b', 'c', 'd', 'e']})
df = df.set_index('item')
データフレームの行を見つけるにはどうしたらよいでしょうか?
df
の行で、数値以外の値を持つ行を見つけるにはどうしたらよいでしょうか?
この例では、データフレームの4行目にある、文字列
'bad'
の中に
a
という列があります。この行をプログラム的に見つけるにはどうしたらよいでしょうか。
どのように解決するのですか?
あなたは
np.isreal
で各要素の型を確認することができます (
適用マップ
はDataFrameの各要素に関数を適用します)。
In [11]: df.applymap(np.isreal)
Out[11]:
a b
item
a True True
b True True
c True True
d False True
e True True
行のすべてがTrueの場合、それらはすべて数値です。
In [12]: df.applymap(np.isreal).all(1)
Out[12]:
item
a True
b True
c True
d False
e True
dtype: bool
ということで、ルージュのsubDataFrameを取得するために、(注:上記の否定である〜は、少なくとも1つのルージュ非数字を持つものを見つけます)。
In [13]: df[~df.applymap(np.isreal).all(1)]
Out[13]:
a b
item
d bad 0.4
の場所を探すこともできます。 最初 を使用することができます。 argmin :
In [14]: np.argmin(df.applymap(np.isreal).all(1))
Out[14]: 'd'
として CTZhu の方が若干速いかもしれません。 のインスタンスであるかどうかをチェックするのは のインスタンスであるかどうかをチェックする方がわずかに速いかもしれません(np.isrealによるいくつかの追加のオーバーヘッドがあります)。
df.applymap(lambda x: isinstance(x, (int, float)))
関連
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] Pandasのカラム名のリネーム
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] Pandasのデータフレームで複数の列を選択する
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み] pandasを使った "大量データ "ワークフロー【終了しました
-
[解決済み] Pandasのデータフレームから行を選択するために値のリストを使用する
-
[解決済み】Pandas DataFrameのカラムヘッダからリストを取得する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] 2つの線分が交差しているかどうかを確認するにはどうすればよいですか?
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] SQLAlchemy: 日付フィールドをフィルタリングする方法は?
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] Django で全てのリクエストヘッダを取得するにはどうすれば良いですか?
-
[解決済み] Python 言語を決定するには?
-
[解決済み] Pythonでランダムなファイル名を生成する最良の方法
-
[解決済み] 認証プラグイン 'caching_sha2_password' はサポートされていません。