![](/img/trans.png)
[英]How to aggregate values in one column for the same values in a different one in pandas?
[英]How to handle same column headers with different values
我有以下数据:
S.No Department stock stock stock
1 Medicine 34 38 58
2 Pharma 23 39 71
3 ortho 76 12 81
我得到的源文件将列标题的重复值作为“stock”,它实际上应该是“Stock1”、“Stock2”和“Stock3”。 我不想手动而是以编程方式完成。
我试过:
df.rename(columns = {df.columns[1]: 'Stock1'})
df.rename(columns = {df.columns[2]: 'Stock2'})
df.rename(columns = {df.columns[3]: 'Stock3'})
但这不起作用。
请帮忙。
几个故障点。
pandas.DataFrame.rename
方法返回一个副本。 您需要将其重新分配回名称df
我必须假设一些关于你的问题的一般形式的事情。 首先,我将您的数据框分成带有'stock'
列和不带'stock'
列
df_stock = df.filter(regex='^stock$')
df_other = df.drop('stock', axis=1)
df_stock.columns += list(map(str, range(1, df_stock.shape[1] + 1)))
df_new = df_other.join(df_stock)
你试过 df.columns=['Stock1', 'Stock2', 'Stock3'] 吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.