Python 列表对象没有属性';应用';即使没有名单

Python 列表对象没有属性';应用';即使没有名单,python,pandas,Python,Pandas,AttributeError:“list”对象没有属性“apply” df2 = pd.DataFrame(pd.read_csv("file.csv", delimiter=';', header=None, skiprows=1, engine='python', names=['I', 'II', 'III'])) df2["COMBINED"] = df2["I"].astype(str) + df2["II"

AttributeError:“list”对象没有属性“apply”

df2 = pd.DataFrame(pd.read_csv("file.csv", delimiter=';', header=None, skiprows=1, engine='python', names=['I', 'II', 'III']))
df2["COMBINED"] = df2["I"].astype(str) + df2["II"].astype(str) + df2["III"].astype(str)

df2 = df2['COMBINED'].replace({'\$': '', ',': ''}, regex=True).str.lower()
df2 = [ nltk.word_tokenize( str(COMBINED) ) for COMBINED in df2 ]

a = df2.apply(set)
AttributeError:“Series”对象没有属性“intersection”

df2 = pd.DataFrame(pd.read_csv("file.csv", delimiter=';', header=None, skiprows=1, engine='python', names=['I', 'II', 'III']))
df2["COMBINED"] = df2["I"].astype(str) + df2["II"].astype(str) + df2["III"].astype(str)

df2 = df2['COMBINED'].replace({'\$': '', ',': ''}, regex=True).str.lower()
df2 = [ nltk.word_tokenize( str(COMBINED) ) for COMBINED in df2 ]

a = df2.apply(set)

有人知道如何回避这些问题吗?我想在两个带字符串的数据帧之间生成一个点积,即每一行与另一个df的每一行。

您不需要
pd.DataFrame()
pd.read\u csv()
之后,
pd.read\u csv()
的返回类型已经是一个数据帧

df2=df2['COMBINED'].replace({'\$':'',':''},regex=True.str.lower()
# ^
# |
#这里的df2是一个系列,来自原始的组合柱
df2=[nltk.word_标记化(str(COMBINED)),用于在df2中组合]
# ^                                               ^
# |                                               |
#这里,df2是df2系列中每个元素的列表
a=df2.应用(设置)
列表肯定没有属性
apply

df2=pd.read\u csv(“file.csv”,分隔符=“;”,头=None,skiprows=1,名称=['I','II','III']))
# ^
# |
#df2有第I、II、III列
df2[“组合”]=df2[“I”]。aType(str)+df2[“II”]。aType(str)+df1[“III”]。aType(str)
# ^
# |
#创建一个新的组合列,
#df2现在有一列、二列、三列和三列
df2[“组合”]=df1[“组合”].str.replace(r'[^\w\s]+','')
# ^
# |
#对组合柱进行操作
df2=df2.SENTURE.apply(nltk.word\u标记化)
# ^
# |
#通过使用df2.句子,您可以访问句子列,
#没有句子栏,只有第一栏、第二栏、第三栏合并

您不需要
pd.DataFrame()
pd.read\u csv()
之后,
pd.read\u csv()
的返回类型已经是一个数据帧

df2=df2['COMBINED'].replace({'\$':'',':''},regex=True.str.lower()
# ^
# |
#这里的df2是一个系列,来自原始的组合柱
df2=[nltk.word_标记化(str(COMBINED)),用于在df2中组合]
# ^                                               ^
# |                                               |
#这里,df2是df2系列中每个元素的列表
a=df2.应用(设置)
列表肯定没有属性
apply

df2=pd.read\u csv(“file.csv”,分隔符=“;”,头=None,skiprows=1,名称=['I','II','III']))
# ^
# |
#df2有第I、II、III列
df2[“组合”]=df2[“I”]。aType(str)+df2[“II”]。aType(str)+df1[“III”]。aType(str)
# ^
# |
#创建一个新的组合列,
#df2现在有一列、二列、三列和三列
df2[“组合”]=df1[“组合”].str.replace(r'[^\w\s]+','')
# ^
# |
#对组合柱进行操作
df2=df2.SENTURE.apply(nltk.word\u标记化)
# ^
# |
#通过使用df2.句子,您可以访问句子列,
#没有句子栏,只有第一栏、第二栏、第三栏合并


为什么不使用scipy距离矩阵函数,如
cdist
pdist
?因为它们不是点数而是代币。如何为两个数据帧编写它?这只允许一个DF,你能重新组织你的代码吗?什么是
stop_words
,为什么
df2
是在
df
之前创建的,而
df2
依赖
df
中的
df
语句.apply(nltk.word_tokenize)?这是一个打字错误。这个数据帧之前就存在,因为我的第一种方法是一行。停止词被去掉是因为它们没有添加上下文。嘿@Ynjxsjmh你有什么想法吗?为什么不使用scipy距离矩阵函数,比如
cdist
pdist
?因为它们不是点数而是代币。如何为两个数据帧编写它?这只允许一个DF,你能重新组织你的代码吗?什么是
stop_words
,为什么
df2
是在
df
之前创建的,而
df2
依赖
df
中的
df
语句.apply(nltk.word_tokenize)?这是一个打字错误。这个数据帧之前就存在,因为我的第一种方法是一行。停止词被去掉是因为它们没有添加上下文。嘿@Ynjxsjmh你有什么想法吗?好的,我明白了。df2。这句话是个拼写错误,不会改变结果。我在Excel中进行了合并,现在有两个几乎完全相同的列,我想对它们进行绘图。但它仍然不起作用。我怎样才能解决我的问题?这两种方法都不能完全运行。AttributeError:“function”对象没有属性“apply”,如果我使用相同的代码处理两个数据帧,即
df1['Session']=df1['Session']].str.replace(r'[^\w\s]+','')df1['Session']=df1['Session'].str.replace('\d+','')df1=df1.session.apply(nltk.word\u标记化)df1=df1.apply(da x:[item.lower()对于x中的项目,如果item.lower()不在stop_words)中,
@SAPNONEXPERT我觉得很好
df1
是在
f1=df1.SENTURE.apply(nltk.word\u tokenize)
之后的序列。系列具有应用功能。错误应该在其他地方。是的,它现在在tokenize列中:
df1=df1.all.apply(nltk.word\u tokenize)
。但是,如果另一个数据帧在具有相同/相似数据的情况下运行良好,我理解。df2。这句话是个拼写错误,不会改变结果。我在Excel中进行了合并,现在有两个几乎完全相同的列,我想对它们进行绘图。但它仍然不起作用。我怎样才能解决我的问题?这两种方法都不能完全运行。AttributeError:“function”对象没有属性“apply”,如果我使用相同的代码处理两个数据帧,即
df1['Session']=df1['Session']].str.replace(r'[^\w\s]+','')df1['Session']=df1['Session'].str.replace('\d+','')df1=df1.session.apply(nltk.word\u标记化)df1=df1.apply(da x:[item.lower()对于x中的项目,如果item.lower()不在stop_words)中,
@SAPNONEXPERT我觉得很好
df1
是在
f1=df1.SENTURE.apply(nltk.word\u tokenize)
之后的序列。系列具有应用功能。错误应该是这样的