[英]iterating through names by loop in python
例如,我需要做很多年的重复编码,
G1990 = pd.read_csv("map_1990.csv")
G1991 = pd.read_csv("map_1991.csv")
". . ."
G2015 = pd.read_csv("map_2015.csv")
其他例子是
path2001=dict(nx.all_pairs_shortest_path_length(G2001))
path2002=dict(nx.all_pairs_shortest_path_length(G2002))
path2003=dict(nx.all_pairs_shortest_path_length(G2003))
". . . "
path2015=dict(nx.all_pairs_shortest_path_length(G2015))
和
df2001.to_csv("path2001.csv")
df2002.to_csv("path2002.csv")
df2003.to_csv("path2003.csv")
". . . "
df2015.to_csv("path2015.csv")
如果我可以使用循环来简化我的代码,那会很好
for i in range(1990:2015),
G[i] = pd.read_csv("map_[i].csv")
要么
for i in range(2001:2015),
path[i]=dict(nx.all_pairs_shortest_path_length(G[i]))
和
for i in range(1990:2015),
df[i].to_csv("path[i].csv")
请帮帮我 :)
如果我可以使用循环来简化我的代码,那会很好
for i in range(1990:2015),
G[i] = pd.read_csv("map_[i].csv")
您只需要稍微修改一下语法即可。
:
用于切片,不用于范围; 您需要range(1990, 2015)
。 range(1990, 2015)
不包括2015。 for
语句以及Python中的所有复合语句,最后都需要一个:
。 G
然后才能向其中添加内容。 {}
而不是[]
。 f
显式标记。 1 所以:
eggs = {}
for i in range(1990, 2016):
eggs[i] = pd.read_csv(f"map_{i}.csv")
1.如果您使用的是Python 3.5或更早版本(包括2.7),则不能使用f字符串。 相反,您必须编写"map_{}.csv".format(i)
。
g = {}
for i in range(1900,2015):
g[i] = pd.read_csv('map_'+ str(i) + '.csv')
是。 当然,您可以按照以下步骤进行操作:
G = {}
for i in range(1990, 2016):
G[i] = pd.read_csv(f"map_{i}.csv")
或者,简而言之:
G = {i: pd.read_csv(f"map_{i}.csv") for i in range(1990, 2016)}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.