python - pandas - 'dataframe' 对象没有属性 'str'
问题描述
我正在尝试过滤掉包含产品列表的数据框。但是,我得到熊猫 - 'dataframe' 对象在我运行代码时没有属性 'str' 错误。
这是代码行:
include_clique = log_df.loc[log_df['Product'].str.contains("Product A")]
如果有人有任何建议的想法,请告诉我。我已经搜索了很多次,我很困惑。
产品是一种对象数据类型。
编辑:
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")]
这是头部:
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:这里是打印(数据),A 是产品。当我打印出来时,看起来 A 不在产品类别下。
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']
是一个单列,你可以使用str
属性。
出于任何原因,如果您需要将数据保存为 MultiIndex 对象,还有另一种解决方案:首先将您的数据转换log_df['Product']
为 Series。之后,str
属性可用。
products = pd.Series(df.Product.values.flatten())
include_clique = products[products.str.contains("Product A")]
但是,我想第一个解决方案是您正在寻找的
推荐阅读
- apache-kafka - Confluent Cloud - 在 poll() 中看不到显着的多线程改进
- python - 树莓派 4 和 RFID RC522 卡识别问题
- javascript - Scrape QS大学世界排名(AJAX)
- ubuntu - 在“/temp/tempft_00003f44_000000000-9 network kernels.compute_61.cpp1.ii”的编译中检测到2个错误
- android - 在撰写 UI 测试中添加意图附加功能
- dotenv - 究竟什么是 .env(或 dotenv)文件?
- cassandra - 如何在 Amazon Keyspaces/Cassandra 中列出不同键空间中的可用表?
- php - 如何在简单的 HTML 或 PHP 页面中对图像、css、js 和其他静态文件使用 HTTP2?
- selenium - PyCharm - PyTest 测试发现/显示可用测试而不运行它们
- python - FastAPI 中的返回图