在Python语言中,可以使用for循环和嵌套的if语句来基于不同DataFrame的3列创建新的pandas DataFrame。下面是一个示例代码:
import pandas as pd
# 创建示例DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
df2 = pd.DataFrame({'A': [10, 11, 12], 'B': [13, 14, 15], 'C': [16, 17, 18]})
# 创建空的结果DataFrame
result_df = pd.DataFrame()
# 使用for循环和嵌套的if语句遍历不同DataFrame的3列
for df in [df1, df2]:
for col1 in df.columns:
for col2 in df.columns:
for col3 in df.columns:
# 判断列名不重复
if col1 != col2 and col1 != col3 and col2 != col3:
# 创建新的列名
new_col = f'{col1}_{col2}_{col3}'
# 创建新的列数据
new_data = df[col1] + df[col2] + df[col3]
# 将新的列添加到结果DataFrame中
result_df[new_col] = new_data
# 打印结果DataFrame
print(result_df)
上述代码中,我们首先导入了pandas库,并创建了两个示例DataFrame(df1和df2)。然后,我们创建了一个空的结果DataFrame(result_df)用于存储新的列数据。
接下来,我们使用for循环和嵌套的if语句遍历了不同DataFrame的3列。在每次循环中,我们判断列名不重复,然后创建新的列名(例如,'A_B_C')和对应的新列数据(即,对应列的值相加)。最后,我们将新的列添加到结果DataFrame中。
最后,我们打印了结果DataFrame,其中包含了基于不同DataFrame的3列创建的新列数据。
请注意,上述代码仅为示例,实际应用中需要根据具体需求进行修改和优化。
关于pandas和DataFrame的更多信息,您可以参考腾讯云的相关产品和文档:
领取专属 10元无门槛券
手把手带您无忧上云