在python中使用行条件循环itertuples()
在python数据框“user”中,我有以下两列:在python中使用行条件循环itertuples(),python,pandas,Python,Pandas,在python数据框“user”中,我有以下两列: user_id | isorg 1 | 1 2 | 0 3 | 3 4 | 0 5 | 0 我希望itertuples()用户_id只有isorg==0,所以我写 用户.itertuples()中的行的: 如果row.isorg==0:继续 #行动 但是我得到了这样的错误 `----------------------------------------------------
user_id | isorg
1 | 1
2 | 0
3 | 3
4 | 0
5 | 0
我希望itertuples()用户_id只有isorg==0,所以我写
用户.itertuples()中的行的:
如果row.isorg==0:继续
#行动
但是我得到了这样的错误
`---------------------------------------------------------------------------
ValueError回溯(最近的调用
最后)在()
1表示user.itertuples()中的行:
---->2如果row.isorg==0:继续
3 org=pd.DataFrame(m3twitter.expert\u id(row.user\u id))
4 isorg=pd.DataFrame.from_dict(org.output.org,orient='index').T
5 isorg=pd.concat([isorg['is-org'].apply(pd.Series)])
/中的usr/local/lib/python3.6/dist-packages/pandas/core/generic.py
非零(self)1553“a{0}的真值不明确。”1554“使用a.empty、a.bool()、a.item(),
a、 any()或a.all()。”格式(
->1555 self.类名称1556)1557)
ValueError:数据帧的真值不明确。使用a.empty,
a、 bool()、a.item()、a.any()或a.all()`
如何获得正确的代码?我是python的新手。试试下面的方法
对于df[df['isorg']==0]中的行。itertuples():
请尝试以下操作
对于df[df['isorg']==0]中的行。itertuples():
您可以演示如何构建用户
数据帧吗?我无法为所有_文件中的文件名复制错误。path=r'/content/gdrive/My Drive/Data/'all_files=glob.glob(path+“/*.csv”)li=[]为所有_文件中的文件名:df=pd.read_csv(filename,delimiter=';',engine='python',usecols=['user_id'])。删除重复项(keep='first')。重置_index()li.append(df)user=pd.concat(li,axis=0,ignore_index=True)你能把打印(user.to_dict())的结果贴在这里吗?@ferhen在read_csv()
调用(注释中)中有drop\u duplicates()
。你认为他应该试试.dropna()
?@AanAndriatno tryuser.dtypes
或user.info()
或,user[“isorg”]。dtype
你能展示一下用户
数据帧是如何构建的吗?我无法为所有_文件中的文件名复制错误。path=r'/content/gdrive/My Drive/Data/'all_files=glob.glob(path+“/*.csv”)li=[]为所有_文件中的文件名:df=pd.read_csv(filename,delimiter=';',engine='python',usecols=['user_id'])。删除重复项(keep='first')。重置_index()li.append(df)user=pd.concat(li,axis=0,ignore_index=True)你能把打印(user.to_dict())的结果贴在这里吗?@ferhen在read_csv()
调用(注释中)中有drop\u duplicates()
。你认为他应该试试.dropna()
?@AanAndriatno tryuser.dtypes
或user.info()
或,user[“isorg”]。dtype