python - 如何在 python 中简单地使用 for
问题描述
这是我的代码的一部分。
描述:我读取了 8 个 csv 文件,名称从 11DD.csv 到 18DD.csv。并且使用 DATAFRAME,我将列命名为“Day”、“Hour”和“TEM”。然后,我只需要“TEM”列。这就是为什么我这样制作这段代码的原因。
但是,我认为这可以很简单地使用 for sentence...帮助...
TEM1= pd.read_csv('DATA/11DD.csv', names = ['Day','Hour','TEM'], skiprows=[0])
TEM2= pd.read_csv('DATA/12DD.csv', names = ['Day','Hour','TEM'], skiprows=[0])
TEM3= pd.read_csv('DATA/13DD.csv', names = ['Day','Hour','TEM'], skiprows=[0])
TEM4= pd.read_csv('DATA/14DD.csv', names = ['Day','Hour','TEM'], skiprows=[0])
TEM5= pd.read_csv('DATA/15DD.csv', names = ['Day','Hour','TEM'], skiprows=[0])
TEM6= pd.read_csv('DATA/16DD.csv', names = ['Day','Hour','TEM'], skiprows=[0])
TEM7= pd.read_csv('DATA/17DD.csv', names = ['Day','Hour','TEM'], skiprows=[0])
TEM8= pd.read_csv('DATA/18DD.csv', names = ['Day','Hour','TEM'], skiprows=[0])
T1= [TEM1['TEM']]
T2= [TEM2['TEM']]
T3= [TEM3['TEM']]
T4= [TEM4['TEM']]
T5= [TEM5['TEM']]
T6= [TEM6['TEM']]
T7= [TEM7['TEM']]
T8= [TEM8['TEM']]
X= [T1,T2,T3,T4,T5,T6,T7,T8]
sns.boxplot(data=X, linewidth =3, notch= False, palette="Blues", width= 0.2)
这就是我之前尝试过的
all_data = pd.DataFrame()
Year_data= []
for f in sorted(glob.glob(input_path)) :
df = pd.read_csv(f, names = ['Day','Hour','TEM'], skiprows=[0])
all_data = all_data([df])
解决方案
您可以通过使用 for 循环来简化这一点,如下所示。想法是循环从 11 到 18 的文件编号,并使用它们在 for 循环中读取文件,%str(t)
动态使用 where%s
将替换为 11、12、13 等,从而每次加载不同的文件。
for t in range(11, 19):
TEM = pd.read_csv('DATA/%sDD.csv' %str(t), names = ['Day','Hour','TEM'], skiprows=[0])
T = [TEM['TEM']]
# Do processing with T
编辑:要在 for 循环之外访问 T,您可以将它们存储在某个列表中,然后循环它们以进行后处理。
T_list = []
for t in range(11, 19):
TEM = pd.read_csv('DATA/%sDD.csv' %str(t), names = ['Day','Hour','TEM'], skiprows=[0])
T = [TEM['TEM']]
T_list.append(T)
# Outside for loop (using your example code)
sns.boxplot(data=T_list, linewidth =3, notch= False, palette="Blues", width= 0.2)
# Or if you want to do something with T1, T2, T3 and so on individually
for T in T_list:
# Do something with T
推荐阅读
- swift - UICollectionView 显示为空且不显示任何单元格
- spring-boot - 如何使用 SpringBoot 创建具有功能的计费页面
- javascript - passport-azure-ad AzureAD:承载策略,令牌验证
- python - TypeError: create_int(): 不兼容的函数参数
- python - Python迭代器下一个方法
- javascript - 为什么我的 mongodb 图表嵌入 sdk 不起作用?
- php - 在路由 Laravel 中向控制器发送参数
- android-sqlite - 在sqlite android中设置布尔值
- java - Gradle 在 debugMode 中抛出异常。线程“主”java.net.UnknownHostException 中的异常:
- amazon-web-services - http.max_content_length 的 Amazon OpenSearch 等效项是多少,我可以增加它吗?