質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

2回答

433閲覧

Python Pandas Excelシート上で同じ値しか入力されていない列を探しだし、その列を削除したい

mukku

総合スコア10

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2019/05/27 07:40

前提・実現したいこと

Python PandasでExcleの操作を行っています。

同じ値しか入力されていない列を探し、その列を削除したい場合どのような処理が考えられますか?

この状態を

列1列2列3列4列5
11111
21211
31231
41134

↓↓↓

列1列3列4列5
1111
2211
3231
4134

この状態にする場合、どのような処理をすればいいかお助けください。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

ソースコード

試したこと

duplicated()を使い考えていたのですが、イメージが湧きません。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

ユニークな要素の数(nunique())が2つ以上ある列を抜き出すと良いかと思います。

Python

1import pandas as pd 2 3df = pd.DataFrame([[1,1,1,1,1], 4 [2,1,2,1,1], 5 [3,1,2,3,1], 6 [4,1,1,3,4]], 7 columns=['列1','列2','列3','列4','列5']) 8 9ret = df.loc[:,df.nunique()>1] 10# 列1 列3 列4 列5 11#0 1 1 1 1 12#1 2 2 1 1 13#2 3 2 3 1 14#3 4 1 3 4

投稿2019/05/27 12:12

magichan

総合スコア15898

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mukku

2019/05/28 02:24

ユニークな値から見る発想がありませんでした。ありがとうございます。参考になりました。
guest

0

特定の列がすべて同じ値を持つかは(df['col'] == df.loc[0,'col']).all()で判定できるので、以下のようなコードで対象列を削除できます。

Python

1import pandas as pd 2 3df = pd.DataFrame({'c1':[1,2],'c2':[1,1],'c3':[1,3]}) 4 5drops = [c for c in df.columns if (df[c] == df.loc[0,c]).all() ] 6df = df.drop(drops, axis=1) 7print(df) 8""" 9 c1 c3 100 1 1 111 2 3 12"""

投稿2019/05/27 07:52

can110

総合スコア38260

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mukku

2019/05/28 02:23

ありがとうございました。ループして探すケースも作成してみたいと思います。参考になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問