我有一个带有“ A”,“ B”,“ C”列的数据框,我想创建一个新的数据框,该数据框具有名为“ X”,“ Y”,“ Z”的列,分别为“ A”列”除以“ B”列,“ B”除以“ C”,“ A”除以“ C”。另外,我想保持相同的索引。我尝试了以下
new_df = old_df['A'] / old_df['B']
但是,我不知道如何添加我想要的其他列。
答案 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)