I am trying to filter out the dataframe that contains a list of product. However, I am getting the pandas - \'dataframe\' object has no attribute \'str\' error whenever I r
Short answer: change data.columns=[headerName]
into data.columns=headerName
Explanation: when you set data.columns=[headerName]
, the columns are MultiIndex object. Therefore, your log_df['Product']
is a DataFrame and for DataFrame, there is no str
attribute.
When you set data.columns=headerName
, your log_df['Product']
is a single column and you can use str
attribute.
For any reason, if you need to keep your data as MultiIndex object, there is another solution: first convert your log_df['Product']
into Series. After that, str
attribute is available.
products = pd.Series(df.Product.values.flatten())
include_clique = products[products.str.contains("Product A")]
However, I guess the first solution is what you're looking for