Python-PANDAS-通过处理数据创建新的数据帧,保留多个旧索引
我有一个Python-PANDAS-通过处理数据创建新的数据帧,保留多个旧索引,python,pandas,dataframe,data-processing,Python,Pandas,Dataframe,Data Processing,我有一个csv数据文件,已读入数据帧: ## Read the CSV data file into a data frame using PANDAS fileAll = '../Data/05_FranckHertz_LabProData_AllTemps_UpDn.csv' AllData = pd.read_csv(fileAll, sep=',', header=0, index_col=[0,1]) 数据包括在六种不同温度下增加或降低电压时的电压和电流测量值。温度(Temp)和方向
csv
数据文件,已读入数据帧:
## Read the CSV data file into a data frame using PANDAS
fileAll = '../Data/05_FranckHertz_LabProData_AllTemps_UpDn.csv'
AllData = pd.read_csv(fileAll, sep=',', header=0, index_col=[0,1])
数据包括在六种不同温度下增加或降低电压时的电压和电流测量值。温度(Temp
)和方向(Dir
-向上或向下)用作索引
数据被读入,然后进行转换:
slope_Va, int_Va = (-19.096514967, -0.3912355461)
slope_Ic, int_Ic = ( -0.333075600, -0.0201979916)
AllData['Va'] = (slope_Va * AllData.Pot1) + int_Va ## Add column for Va
AllData['Ic'] = (slope_Ic * AllData.Pot2) + int_Ic ## Add column for Ic
现在,需要对这些转换后的值进行平滑处理,我希望将这些平滑的结果放入新的数据帧中但是我需要保留原始索引。平滑过程会删除一些数据,因此例程会输出比输入数据短的ndarray
我在StackExchange周围找了一整天,甚至在Reddit上进行了讨论,但都没有用
我的代码当前位于。数据位于名为05_frankhertz*.csv
的文件中,我正在处理的主脚本是02_frankhertz\u Method1.py
。平滑函数位于BGCprocLib.py
中
我非常感谢您的帮助
谢谢 也许这太简单了,但是将
df
作为您的DataFrame
,为什么不在副本上运行平滑操作,然后将副本中的数据分配回原始DataFrame
?如果你这样做,pandas
会自动为你对齐索引。@ResMar:哦,我从来没有想过。简单的解决方案当然是受欢迎的!我试试看。我还不太了解熊猫(甚至Python),所以我不知道df.copy()
甚至是一个选项。理想情况下,我希望能够分别平滑每个温度和方向,因为我不希望它们之间有任何相互混合。@ResMar:好的,我试过了,得到了错误:ValueError:传递值的形状是(4,),索引暗示(488463)
。听起来您没有正确地合并它们。尝试从您感兴趣的df2
中选取一列,并将其分配给原始df
。例如,df['something']=df2['something']
。这样行吗?