Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.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,我正在尝试一些我所学的熊猫数据帧操作。我正在使用的数据集来自 第一部分可能与上下文无关,但仅限于上下文-我已经浏览并设置了一些索引: import pandas as pd import numpy as np # loading the main dataset df_main = pd.read_csv(filename) '''Sorting Indexes''' # getting rid of the id column del df_main['id'] # sorting v

我正在尝试一些我所学的熊猫数据帧操作。我正在使用的数据集来自

第一部分可能与上下文无关,但仅限于上下文-我已经浏览并设置了一些索引:

import pandas as pd
import numpy as np

# loading the main dataset
df_main = pd.read_csv(filename)

'''Sorting Indexes'''
# getting rid of the id column
del df_main['id']

# sorting values by LOCATION and GENDER columns
# setting index to LOCATION (1st tier) then GENDER (2nd tier) and then re- 
#sorting
df_main = df_main.sort_values(['LOCATION','TIME'])
df_main = df_main.set_index(['LOCATION','TIME']).sort_index()
我遇到的问题是缺少值——我决定第7~18列可以插值,因为很多数据每年都非常一致

因此,我制作了一个简单的函数来获取列列表,并为每列应用插值函数

'''Missing Values'''
x = df_main.groupby("LOCATION")

def interpolate_columns(list_of_column_names):
    for column in list_of_column_names:
        df_main[column] = x[column].apply(lambda x: x.interpolate(how = 'linear'))

interpolate_columns( list(df_main.columns[7:18]) )
然而,我遇到的问题是,当所有其他列都被成功插值时,其中一列(用电率(城市人口的%)[1.3_Access.power.urban])似乎没有插值

当我运行函数时,没有抛出错误,它也没有试图向后插值

关于为什么会出现这个问题有什么想法吗


编辑:我还应该提到的是,所讨论的列缺少相同数量的值-在相同的行中-与许多其他成功插值的列一样。

仔细查看数据后,似乎interpolate在某些列上不起作用,因为我在groupby对象中缺少组的第一行的数据。

不知道您的数据是什么样子的:您是否检查过您的列是否实际包含在列[7:18](简单打印语句)的处理范围内?是,我现在已经这样做了,我遇到麻烦的列是第10列。我正在使用的数据集可以在这里找到()我试图插入的列来自“train.csv”文件中的J~T。