Python 3.x Pandas/Dataframe:使用python从数据帧中获取单个单元格值时,当条件失败时,如何分配默认值? 让我们考虑下面的代码: import pandas as pd df = pd.DataFrame([[1, 2], [3, 4], [5, 6], [7, 8]], columns=["A", "B"]) x=0 print(df) x=df.loc[df['A'] == 3, 'B', ''].iloc[0] print(x)

Python 3.x Pandas/Dataframe:使用python从数据帧中获取单个单元格值时,当条件失败时,如何分配默认值? 让我们考虑下面的代码: import pandas as pd df = pd.DataFrame([[1, 2], [3, 4], [5, 6], [7, 8]], columns=["A", "B"]) x=0 print(df) x=df.loc[df['A'] == 3, 'B', ''].iloc[0] print(x),python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,在打印x时,我得到4作为输出。很好。如果条件get按照以下代码失败 x=df.loc[df['A'] == 33, 'B', ''].iloc[0] 我希望打印x的初始值0,并希望避免以下错误: 索引器:单个位置索引器超出范围 指导我避免错误并显示x的初始值。提前谢谢 如果没有匹配条件,使用带有默认参数的next获取值: 注意-还有另一个错误-只需要值B,删除'(可能是打字错误) 您可以查看try,除了异常处理, 使用: 输出: A B 0 1 2 1 3 4 2 5 6

在打印x时,我得到4作为输出。很好。如果条件get按照以下代码失败

x=df.loc[df['A'] == 33, 'B', ''].iloc[0]
我希望打印x的初始值0,并希望避免以下错误:

索引器:单个位置索引器超出范围


指导我避免错误并显示x的初始值。提前谢谢

如果没有匹配条件,使用带有默认参数的
next
获取值:

注意-还有另一个错误-只需要值
B
,删除
'
(可能是打字错误)


您可以查看try,除了异常处理, 使用:

输出:

   A  B
0  1  2
1  3  4
2  5  6
3  7  8

Too many indexers #the exception

0 #the initial value

非常感谢您宝贵的回复。您的代码为我提供了默认值。谢谢
import pandas as pd 
df = pd.DataFrame([[1, 2], [3, 4], [5, 6], [7, 8]], columns=["A", "B"])

x=0

print(df)

try:
    x=df.loc[df['A'] == 3, 'B', ''].iloc[0]
    print(x)
except Exception as e:
    print(e)
    print(x)
   A  B
0  1  2
1  3  4
2  5  6
3  7  8

Too many indexers #the exception

0 #the initial value