我正在尝试过滤出包含产品列表的数据框。但是,我遇到了熊猫-每当我运行代码时,“ 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:这是print(data),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
attribute。
出于任何原因,如果需要将数据保留为MultiIndex对象,则还有另一种解决方案:首先将您的数据转换log_df['Product']
为Series。之后,str
属性可用。
products = pd.Series(df.Product.values.flatten())
include_clique = products[products.str.contains("Product A")]
但是,我想第一个解决方案就是您要寻找的
问题内容: 我在这里遇到一些问题,在我的python包中,我已经安装了numpy,但是我仍然 遇到 此错误 ‘DataFrame’对象没有属性’sort’ 任何人都可以给我一些想法。 这是我的代码: 问题答案: 不推荐使用DataFrames,而采用以下两种方法之一: 到 由列排序(S) 要 通过索引排序 在Pandas中已弃用(但仍可用)版本0.17(2015-10-09),并引入和。它已从0.
我在这里遇到了一些问题,在我的python包中,我安装了,但是我仍然有这个错误: “DataFrame”对象没有属性“sort” 任何人都可以给我一些想法。。 这是我的代码:
问题内容: 我想转换火花数据框架以使用以下代码添加: 详细的错误消息是: 有人知道我在这里做错了吗?谢谢! 问题答案: 您无法使用数据框,但可以将数据框转换为RDD并通过映射将其映射。在Spark 2.0之前,别名为。使用Spark 2.0,您必须先明确调用。
当我尝试使用时,出现此错误。用于拉出列的数据帧的ix属性,例如。 这个脚本今天早上还能用,但是今天下午我在一个新的Linux环境中运行了它,安装了新的熊猫。以前有人见过这个错误吗?我找遍了这里和其他地方,但没找到。
问题内容: Pandas确实很棒,但令我惊讶的是,从Pandas.DataFrame检索值的效率低下。在下面的玩具示例中,即使DataFrame.iloc方法也比字典慢100倍以上。 问题:这里的教训仅仅是字典是查找价值的更好方法吗?是的,我知道那正是他们的目的。但是我只是想知道是否缺少有关DataFrame查找性能的信息。 我意识到这个问题比“提问”更“有趣”,但是我会接受一个提供洞察力或观点的
下面的代码以前对我有用,但现在不行了。我得到了错误: AttributeError:“DataFrame”对象没有属性“to df”