[解決済み] pandas - 'dataframe' オブジェクトには 'str' という属性がありません。
2022-03-03 22:04:57
質問
商品のリストを含むデータフレームをフィルタリングしようとしています。しかし、コードを実行するたびに、pandas - 'dataframe' object has no attribute 'str' errorが表示されます。
以下はコードの行です。
include_clique = log_df.loc[log_df['Product'].str.contains("Product A")]
どなたか、お勧めの方法がありましたら、教えてください。何度も検索したのですが、かなり行き詰まっています。
Product はオブジェクトデータ型です。
EDITです。
import __future__
import os
import pandas as pd
import numpy as np
import tensorflow as tf
import math
data = pd.read_csv("FILE.csv", header = None)
headerName=["DRID","Product","M24","M23","M22","M21","M20","M19","M18","M17","M16","M15","M14","M13","M12","M11","M10","M9","M8","M7","M6","M5","M4","M3","M2","M1"]
cliques = [(Confidential)]
data.columns=[headerName]
log_df = data
log_df = np.log(1+data[["M24","M23","M22","M21","M20","M19","M18","M17","M16","M15","M14","M13","M12","M11","M10","M9","M8","M7","M6","M5","M4","M3","M2","M1"]])
copy = data[["DRID","Product"]].copy()
log_df = copy.join(log_df)
include_clique = log_df.loc[log_df['Product'].str.contains("Product A")]
以下は、headです。
ID PRODUCT M24 M23 M22 M21
0 123421 A 0.000000 0.000000 1.098612 0.0
1 141840 A 0.693147 1.098612 0.000000 0.0
2 212006 A 0.693147 0.000000 0.000000 0.0
3 216097 A 1.098612 0.000000 0.000000 0.0
4 219517 A 1.098612 0.693147 1.098612 0.0
編集2:以下はprint(data)で、Aは商品です。プリントアウトすると、Aはカテゴリーproductの下にないように見えますが、どうでしょうか?
DRID Product M24 M23 M22 M21 M20 \
0 52250 A 0.0 0.0 2.0 0.0 0.0
1 141840 A 1.0 2.0 0.0 0.0 0.0
2 212006 A 1.0 0.0 0.0 0.0 0.0
3 216097 A 2.0 0.0 0.0 0.0 0.0
解決方法は?
簡単にお答えします。
変更
data.columns=[headerName]
に
data.columns=headerName
説明する。
を設定した場合
data.columns=[headerName]
の場合、カラムはMultiIndexオブジェクトになります。したがって
log_df['Product']
はDataFrameであり、DataFrameには
str
属性があります。
を設定すると
data.columns=headerName
は、あなたの
log_df['Product']
は1つのカラムであり
str
属性で指定します。
何らかの理由で、データをMultiIndexオブジェクトとして保持する必要がある場合、別の解決策があります。
log_df['Product']
をシリーズに変換します。その後に
str
属性が利用できます。
products = pd.Series(df.Product.values.flatten())
include_clique = products[products.str.contains("Product A")]
しかし、最初の解決策は、あなたが探しているものだと思います。
関連
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] Pandasのカラム名のリネーム
-
[解決済み] Pythonでオブジェクトが属性を持つかどうかを知る方法
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] Pandasのデータフレームで複数の列を選択する
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み] 既存のDataFrameに新しい列を追加する方法は?
-
[解決済み] 一行ずつ追加してPandas Dataframeを作成する
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
Python カメの描画コマンドとその例
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
PythonはWordの読み書きの変更操作を実装している
-
python implement mysql add delete check change サンプルコード
-
Python百行で韓服サークルの画像クロールを実現する
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。