我有一个像这样的元组列表:
list_t = [(1,2),(1,7),(1,8),(2,6),(5,8)]
Run Code Online (Sandbox Code Playgroud)
我想制作数据框,但只有一列:
目前使用这个
df_com = pd.DataFrame(list_t,columns=["so","des"])
Run Code Online (Sandbox Code Playgroud)
但后来我必须再次加入他们,因此增加了运营成本。
感谢您的帮助
我有需要优化的脚本。示例数据添加到此处data。
我尝试了一些将 groupby 更改为使用排序值的方法。我尝试过更快地申请,但反而花费了更多时间。
df_loop = pd.read_excel("data.xlsx")
df_loop.index = df_loop["Destination"]
uni_list = df_loop["Destination"].unique()
def get_custcon(x):
dfa = df_loop[(df_loop.index.isin(x))]
dfa.sort_values\
(by = ["Source","Time"],ascending=True).drop_duplicates('Source'\
,keep='first',inplace = True)
return [x,dfa["con"].sum()/dfa["Options"].sum()]
def get_optimisation(site):
list_site = []
for si in range(site):
s = "step_" + str(si)
list_site.append(s)
list_site = ["random_combination"] + list_site + ["Cust"]
test_data = pd.DataFrame(columns = list_site)
Iteration = 1 #how many iteration do you want to run
for it in range(Iteration):
test_list = []
random_com = tuple(random.sample(set(df_loop["Source"]\
.unique()),site)) ### random …Run Code Online (Sandbox Code Playgroud)