Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何基于列名转换/插入/重新打包数据帧中的列?_Python_Pandas_Dataframe_Interpolation - Fatal编程技术网

Python 如何基于列名转换/插入/重新打包数据帧中的列?

Python 如何基于列名转换/插入/重新打包数据帧中的列?,python,pandas,dataframe,interpolation,Python,Pandas,Dataframe,Interpolation,如何使用插值/重块从下面的df_输入转换为df_输出 import pandas as pd df_input=pd.DataFrame([ [1,2],[1,3],[0,-6]], columns=[2,5]) df_output=pd.DataFrame([ [1,0.67,1.33],[1,1,2],[0,-2,-4]], columns=[2, 3, 6]) df_输入: 2 5 0 1 2 1 1 3 2 0 -6 df_输出: 2 3 6

如何使用插值/重块从下面的df_输入转换为df_输出

import pandas as pd
df_input=pd.DataFrame([ [1,2],[1,3],[0,-6]], columns=[2,5])
df_output=pd.DataFrame([ [1,0.67,1.33],[1,1,2],[0,-2,-4]], columns=[2, 3, 6])
df_输入:

   2  5
0  1  2
1  1  3
2  0 -6
df_输出:

   2     3     6
0  1  0.67  1.33
1  1  1.00  2.00
2  0 -2.00 -4.00
例如

要从df_input.loc[0,5](值=2)转到df_output.loc[0,3](值=0.67)和df_output.loc[0,6](值=1.33),需要根据列名的值进行重新校验:

0.67 =  2 * (6-5) / (6-3)
1.33 =  2 * (5-3) / (6-3)
“2”列在df_输入和df_输出之间相同,因为“2”列在[2,5]和[2,3,6]中

这是一个简单的例子,我还想将列名[2,5]和[2,3,6]推广到任何给定的数字向量


非常感谢。

在上面的示例中,能否请您澄清列名(即整数)和df_输入中使用的实际值(即整数)之间的区别。很容易混淆两者(双关语)。您提供的公式不清楚。仅根据input
df
中的第一行,
(6-3)
从何而来
1.33=2*(5-3)/(6-3)
?在上面的示例中,您能否澄清列名称(是整数)和df\u输入中使用的实际值(也是整数)。很容易混淆两者(双关语)。您提供的公式不清楚。仅根据输入
df
中的第一行,
(6-3)
从哪里来
1.33=2*(5-3)/(6-3)