2017-07-07 11 views
-1

約18の列がある.csvファイルからインポートされたpandasデータフレームで作業しています。各列には、列ヘッダーとしてHTML形式の項目名とイメージの説明があります。これは次のようなものです。パンダのデータフレームの列見出しの文字列の部分を切り取る

A <img width="300" alt="A" height="300".jpg">` ` B <img width="400" alt="B" height="600".jpg"`...... 

などです。

私が達成しようとしているのは、自分の列見出しの項目名だけを取得し、画像部分をトリミングすることです。

df.rename(columns=lambda x: x.replace('<img width="300" alt="A" height="300".jpg">', ''), inplace=True) 

しかし、そこにこのような30と同様のファイルがあると、すべての画像は、異なる記述があるとして、すべての列名を与えることはできない。私は、これは機能を交換しようとしました。私はここでより洗練されたソリューションを探しています。私の出力は次のようになります:

A B C D ......so on 

ご協力いただけると助かります。

答えて

2

私はあなたが正規表現に慣れていない場合は、正規表現

df.columns = df.columns.str.replace('\s*<.*>\s*$', '') 
0

を使用すると思い、あなたも試みることができる:

df.rename(columns=lambda x: x.split(' ')[0], inplace=True) 

常にあなたの希望する出力の間にスペースがあることを考えますあなたは望ましくないものです。

関連する問題