首页 > 解决方案 > 如何重新索引我的数据框并在执行重新索引的同时对该数据应用一些操作或转换

问题描述

我已经尝试过这段代码,但它对我不起作用

import pandas as pd
Df1=pd.DataFrame({Price:[10,20,30,40],Company:['Abcd','Efgh','Ijkl','mnop'],City:['Delhi','Bangalore','Bombay','Chennai']})
Df2=Df1.reindex(index=[0,2],columns=['Price',Company],Df1['Price'].fill_value=Df1['Price']*12)
print(Df2)

我的预期输出是这样的:

Price   Company
10*12     Abcd
30*12     Efgh

非常感谢您的快速帮助。提前致谢!!!!

标签: pythonpandas

解决方案


不确定您的预期输出是否正确且措辞正确。3个假设;

  1. 10*12 应该是 120 吗?
  2. 应该使用相应的价格值吗?(所以公司 'Efgh' 是 20 而不是 30)
  3. 你想要前 2 行(或前 'x')行吗?或任何切片?(而不是基于条件)

您可以像这样创建新的数据框:

import pandas as pd

df1=pd.DataFrame({'Price':[10,20,30,40],'Company':['Abcd','Efgh','Ijkl','mnop'],'City':['Delhi','Bangalore','Bombay','Chennai']})
df2 = pd.DataFrame({'Price': Df1['Price'][0:2] * 12, 'Company': df1['Company'][0:2]})
print(df2)
Out: 
     Price Company
0    120    Abcd
1    240    Efgh

推荐阅读