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)
在打印x时,我得到4作为输出。很好。如果条件get按照以下代码失败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=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