【发布时间】:2021-12-07 03:43:49
【问题描述】:
我编写这些代码是为了阅读 Datastes:
import pandas as pd
import pathlib
def load_coordinates(structure,segments:None):
filedir = pathlib.Path(__file__).parent.parent / "data" / structure
filepath = filedir / f"coordinates_{structure}.csv"
return pd.read_csv(filepath, sep=";")
if segments:
return df.loc[df.segment.isin(segments)].reset_index(drop=True)
else:
return df
def load_population(structure,segments:None):
filedir = pathlib.Path(__file__).parent.parent / "data" / structure
filepath = filedir / f"population_{structure}.csv"
return pd.read_csv(filepath, sep=";")
return df.loc[df.segment.isin(segments)].reset_index(drop=True)
else:
return df
def load_ambul_praxen(structure,segments=None):
filedir = pathlib.Path(__file__).parent.parent / "data" / structure
filepath = filedir / f"ambul_praxen_{structure}.csv"
return pd.read_csv(filepath, sep=";").drop(columns=["planet"])
return df.loc[df.segment.isin(segments)].reset_index(drop=True)
else:
return df
def load_docs_matrix(structure, docs_selection, sum_up_vo):
filedir = pathlib.Path(__file__).parent.parent / "data" / structure
filepath = filedir / f"docs_matrix_{structure}.csv"
return pd.read_csv(filepath, sep=";")
selected_cols = ["segment"] + docs_selection
df = df.loc[:, selected_cols]
if sum_up_vo:
df["vo"] = df[docs_selection].sum(axis=1)
df = df.drop(columns=docs_selection)
return df
def load_weights(structure, request, segments=None, docs_selection=None, sum_up_vo=None):
if request == "population":
return load_population(structure)
elif request == "ambul_praxen":
return load_ambul_praxen(structure)
else:
return load_docs_matrix(structure)
def load_data(structure, request, segments=None, docs_selection=None,
sum_up_vo=None):
coordinates = load_coordinates(structure)
weights = load_weights(structure, request, segments, docs_selection, sum_up_vo)
return coordinates.merge(weights, on="segment", how="inner")
在调用函数之前,我想补充一下:
if segments:
return df.loc[df.segment.isin(segments)].reset_index(drop=True)
else:
return df
到def load_docs_matrix函数
I called the function like this:
request = "ambul_praxen"
structure = "1868"
load_data(structure,request,
load_coordinates,
load_ambul_praxen,
load population,
load_weights)
我想要实现的是将所有数据集放在一个带有load data function 的数据框中。调用该函数后,我得到一个错误,我给出了 7 个参数,但预期为 5 个。我试图调整参数,但似乎不工作。
知道如何解决这个问题吗?
【问题讨论】:
-
不是很清楚预期的输出是什么,你能澄清一下吗?
-
@fbence,我想用最后一个函数从模型中加载完整的数据集并调用它
标签: python function parameter-passing