インデックスとしてPandas
DataFrame
持つに 2 つの列があります。datetime
2 つの列には同じパラメータを測定したデータが含まれていますが、どちらの列も完全ではありません (データがまったくない行もあれば、両方の列にデータがあり、列 'a' または 'b' に他のデータがある行もあります)。
次のコードを作成して、列のギャップを見つけ、これらのギャップが現れる日付のインデックスのリストを生成し、このリストを使用して欠落データを見つけて置き換えます。ただしKeyError: Not in index
、3行目には、インデックスに使用しているキーがそれ自体からのものであるため、理解できませんDataFrame
。なぜこれが起こっているのか、それを修正するために何ができるのかを誰かが説明できますか? コードは次のとおりです。
def merge_func(df):
null_index = df[(df['DOC_mg/L'].isnull() == False) & (df['TOC_mg/L'].isnull() == True)].index
df['TOC_mg/L'][null_index] = df[null_index]['DOC_mg/L']
notnull_index = df[(df['DOC_mg/L'].isnull() == True) & (df['TOC_mg/L'].isnull() == False)].index
df['DOC_mg/L'][notnull_index] = df[notnull_index]['TOC_mg/L']
df.insert(len(df.columns), 'Mean_mg/L', 0.0)
df['Mean_mg/L'] = (df['DOC_mg/L'] + df['TOC_mg/L']) / 2
return df
merge_func(sve)