使用下面的代码,我可以看到数据,其中有一行和两列。 我要选择:
if条件出现错误。谁能帮我做到这一点吗?
评论:OP在此处发布示例数据集或URL
from pyspark.sql import *
import pandas as pd
query = "(Select empID, empDept from employee)"
df1 = spark.read.jdbc(url=url, table=query, properties=properties)
df1.show()
if df1[empID]==0 && df1[empDept]==0:
print("less than zero")
elif df1[empID]>0 && df1[empDept]>0:
print("greather than 0")
else
print("do nothing")
答案 0 :(得分:0)
您的脚本中存在多个语法错误。尝试下面修改的代码。
import numpy as np
if np.sum((df1["empID"]==0) & (df1["empDept"]==0)):
print("less than zero")
elif np.sum((df1["empID"]>0) & (df1["empDept"]>0)):
print("greather than 0")
else:
print("do nothing")
请注意,对数据帧列进行的任何比较(例如df1 [“ empID”] == 0)都将返回一系列布尔值,因此必须将它们作为一系列而不是常规变量来处理。
df1:
empID empDept
0 1 1
输出:
greather than 0
答案 1 :(得分:0)
您的拼写有误:
&&
替换为and
else:
(“:”缺失)尝试一下:
import pandas as pd
import numpy as np
dat = np.array([[0, 0]])
df1 = pd.DataFrame(data=dat)
if df1.loc[0, 0]==0 and df1.loc[0, 1]==0:
print("less than zero")
elif df1.loc[0, 0]==0 and df1.loc[0, 1]>0:
print("greather than 0")
else:
print("do nothing")