基于python中另一列的值在python中添加新列
我试图用这个数据集做一些简单的操作 我正在努力:基于python中另一列的值在python中添加新列,python,pandas,count,percentage,Python,Pandas,Count,Percentage,我试图用这个数据集做一些简单的操作 我正在努力: 计算归属于每个群集的计数总数。例如,对于集群0,我必须求和7+4+61+7+12=91 添加一个新列“计数总数”,其中计数总数与相应的群集成对出现(即“群集”列中值为“0”的行在“计数总数”列中的值为91) 将“计数”列除以“计数总数”并乘以100(计算计数百分比)。结果应添加到新列中 有人能帮我写一个代码吗?你可以用 这行代码将为您提供名为total的新列和 此列为第0列至第11列数值的平均值 在这里,你可以用你需要的任何其他运算来替换平均值
df['total'] = df.iloc[:,:12].mean()
您可以使用
这行代码将为您提供名为total的新列和
此列为第0列至第11列数值的平均值
在这里,你可以用你需要的任何其他运算来替换平均值
df['total'] = df.iloc[:,:12].mean()
假设已调用数据帧
df
,则可以执行以下操作:
第1点
使用clusters列上的groupby()
方法,并使用sum()
聚合方法计算总和,如:
df_grouped = df.groupby('clusters').sum()
完成后,您可能希望将该数据框中的列重命名为更有用的名称,如:
df_grouped = df_grouped.rename(columns={'count': 'cluster_count'})
第2点
要将总计返回到数据帧中,您可以将分组的_df与原始数据帧合并,如:
df_merged = pd.merge(left=df,
right=df_grouped,
left_on='clusters',
right_index=True)
其中,使用“集群”列是左数据帧的键,并使用df_分组数据帧的索引(集群值将在第1点中的groupby()
操作之后的索引中)
第3点
最后一步现在很简单。只需使用最终数据帧并添加一个包含所需计算结果的新列:
df_merged['count_pct_cluster'] = df_merged['count'] / df_merged['cluster_count'] * 100
假设已调用数据帧
df
,则可以执行以下操作:
第1点
使用clusters列上的groupby()
方法,并使用sum()
聚合方法计算总和,如:
df_grouped = df.groupby('clusters').sum()
完成后,您可能希望将该数据框中的列重命名为更有用的名称,如:
df_grouped = df_grouped.rename(columns={'count': 'cluster_count'})
第2点
要将总计返回到数据帧中,您可以将分组的_df与原始数据帧合并,如:
df_merged = pd.merge(left=df,
right=df_grouped,
left_on='clusters',
right_index=True)
其中,使用“集群”列是左数据帧的键,并使用df_分组数据帧的索引(集群值将在第1点中的groupby()
操作之后的索引中)
第3点
最后一步现在很简单。只需使用最终数据帧并添加一个包含所需计算结果的新列:
df_merged['count_pct_cluster'] = df_merged['count'] / df_merged['cluster_count'] * 100
非常感谢!!这很简单也很有用。太棒了!非常感谢!!这很简单也很有用。太棒了!