以下是一个使用if和else遍历两个长度不同的大型数据框的示例代码:
import pandas as pd
# 创建两个示例数据框
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [7, 8], 'B': [9, 10]})
# 获取两个数据框的长度
len_df1 = len(df1)
len_df2 = len(df2)
# 遍历较长的数据框
if len_df1 >= len_df2:
for i in range(len_df1):
# 获取df1的每一行数据
row_df1 = df1.iloc[i]
# 判断索引是否在df2的范围内
if i < len_df2:
# 获取df2的相应行数据
row_df2 = df2.iloc[i]
else:
# 如果索引超出df2的范围,则设置为空值
row_df2 = pd.Series([None, None], index=['A', 'B'])
# 在此处进行处理,比如打印数据或进行其他操作
print(f"df1: {row_df1}, df2: {row_df2}")
else:
for i in range(len_df2):
# 获取df2的每一行数据
row_df2 = df2.iloc[i]
# 判断索引是否在df1的范围内
if i < len_df1:
# 获取df1的相应行数据
row_df1 = df1.iloc[i]
else:
# 如果索引超出df1的范围,则设置为空值
row_df1 = pd.Series([None, None], index=['A', 'B'])
# 在此处进行处理,比如打印数据或进行其他操作
print(f"df1: {row_df1}, df2: {row_df2}")
上述示例中,我们首先创建了两个示例数据框df1和df2。然后,我们获取了两个数据框的长度len_df1和len_df2。接下来,我们使用if和else分别遍历了较长的数据框,然后在遍历的过程中,根据索引判断是否超出了另一个数据框的范围,从而获取相应的行数据。最后,我们可以在处理的位置进行处理,比如打印数据或进行其他操作。