如何基于其他数据框的列使用熊猫创建新数据框

时间:2020-07-14 12:39:37

标签: python pandas

我有一个带有“ A”,“ B”,“ C”列的数据框,我想创建一个新的数据框,该数据框具有名为“ X”,“ Y”,“ Z”的列,分别为“ A”列”除以“ B”列,“ B”除以“ C”,“ A”除以“ C”。另外,我想保持相同的索引。我尝试了以下

new_df = old_df['A'] / old_df['B']

但是,我不知道如何添加我想要的其他列。

2 个答案:

答案 0 :(得分:3)

只需执行以下操作:

new_df = pd.DataFrame(columns=['X', 'Y', 'Z'])
new_df['X'] = df['A'] / df['B']
new_df['Y'] = df['B'] / df['C']
new_df['Z'] = df['A'] / df['C']
print(new_df)

          X         Y         Z
0  0.227273  0.647059  0.147059
1  1.600000  0.833333  1.333333
2  0.800000  1.666667  1.333333

答案 1 :(得分:0)

您还可以使用pandas.DataFrame.div,它允许您使用fill_values。例如:

new_df = pd.DataFrame(columns=['X','Y','Z'])
new_df['X'] = old_df['A'].div(old_df['B'], fill_value=-9999)