Python 熊猫';数据帧';对象没有属性';str';
我试图过滤掉包含产品列表的数据框。但是,每当我运行代码时,我都会得到pandas-“dataframe”对象没有属性“str”错误 以下是代码行:Python 熊猫';数据帧';对象没有属性';str';,python,pandas,q,Python,Pandas,Q,我试图过滤掉包含产品列表的数据框。但是,每当我运行代码时,我都会得到pandas-“dataframe”对象没有属性“str”错误 以下是代码行: include_clique = log_df.loc[log_df['Product'].str.contains("Product A")] 如果有人有什么建议,请告诉我。我已经找了很多次了,我被卡住了 产品是一种对象数据类型 编辑: 这是标题: ID PRODUCT M24 M23 M22 M21
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
说明:设置数据。列=[headerName]
时,列是多索引对象。因此,您的log_df['Product']
是一个数据帧,对于数据帧,没有str
属性
设置data.columns=headerName
时,您的log_df['Product']
是一个单独的列,您可以使用str
属性
出于任何原因,如果您需要将数据保留为多索引对象,还有另一种解决方案:首先将log\u df['Product']
转换为系列。之后,str
属性可用
products = pd.Series(df.Product.values.flatten())
include_clique = products[products.str.contains("Product A")]
但是,我想第一个解决方案是您正在寻找的您的代码应该可以工作。你确定你没有在某处做
log_-df.str
(而不是log_-df['Product'].str
)?或者您可能有同名的重复索引<代码>产品代码>(例如,两列同名)?@RafaelC是的,我是肯定的。昨天它还在工作,但现在它已经不工作了。你对类型(log_df['Product'])
看到了什么?@RafaelC没有,没有重复的索引。@jpp pandas.core.frame.DataFrameI也在寻找相同的,这个答案对我帮助很大。谢谢分享。
products = pd.Series(df.Product.values.flatten())
include_clique = products[products.str.contains("Product A")]