Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否可以使用生成器/理解生成包含关键点的对象_Python_Pandas - Fatal编程技术网

Python 是否可以使用生成器/理解生成包含关键点的对象

Python 是否可以使用生成器/理解生成包含关键点的对象,python,pandas,Python,Pandas,我经常遇到这样的情况,我想使用某种形式的列表理解,我相信使用 import pandas as pd import os data = {} for f in os.listdir('schools/'): data[f.replace('.csv','')] = pd.read_csv('schools/'+f) 但是,我不知道怎么把钥匙放进去?有可能以这种方式生成对象吗 你想要一本字典吗 变成: for f in os.listdir('schools/'): data[

我经常遇到这样的情况,我想使用某种形式的列表理解,我相信使用

import pandas as pd
import os

data = {}
for f in os.listdir('schools/'):
    data[f.replace('.csv','')] = pd.read_csv('schools/'+f)
但是,我不知道怎么把钥匙放进去?有可能以这种方式生成对象吗

你想要一本字典吗

变成:

for f in os.listdir('schools/'):
    data[f.replace('.csv','')] = pd.read_csv('schools/'+f)
使用
glob.glob
可能会更安全、更可读,这样您就可以过滤掉非csv文件,而不必
加入

data = {f.replace('.csv',''):pd.read_csv(os.path.join('schools',f)) for f in os.listdir('schools')}

稍微扩展,将其转换为数据帧(假设每个csv只有一列):

你想要一本字典吗

变成:

for f in os.listdir('schools/'):
    data[f.replace('.csv','')] = pd.read_csv('schools/'+f)
使用
glob.glob
可能会更安全、更可读,这样您就可以过滤掉非csv文件,而不必
加入

data = {f.replace('.csv',''):pd.read_csv(os.path.join('schools',f)) for f in os.listdir('schools')}

稍微扩展,将其转换为数据帧(假设每个csv只有一列):


是的,有一本字典。拿着电话。你的最终目标是什么?要连接所有列吗?是的,用字典理解。拿着电话。你的最终目标是什么?要连接所有列?如果这要成为pd数据帧,您需要对其进行一点扩展:
pd.DataFrame({f.replace('.csv',''):pd.read_csv(os.path.join('schools',f)).values.reshave(-1,)for f in os.listdir('schools')}
。。。电子战。。。看起来很丑……是的打字错误是我的祸根。请随意编辑我的帖子来添加这些信息,我根本不是熊猫专家。我一直在尝试{f.replace('.csv','')=pd.read_csv(f)for f in glob.glob(os.path.join('schools',“*.csv”)}哈哈,这是荷马·辛普森(homer simpson)的一个绝妙时刻。如果这要成为一个pd数据框架,您需要对其进行一些扩展:
pd.DataFrame({f.replace('.csv','')):pd.read_csv(os.path.join('schools',f)).values.reshave(-1,)for f in os.listdir('schools')}
。。。电子战。。。看起来很丑……是的打字错误是我的祸根。请随意编辑我的帖子来添加这些信息,我根本不是熊猫专家。我一直在尝试{f.replace('.csv','')=pd.read_csv(f)for f in glob.glob(os.path.join('schools',“*.csv”)}哈哈,这是荷马·辛普森的绝招之一。
pd.DataFrame({f.replace('.csv','') : pd.read_csv(os.path.join('schools',f)).values.reshape(-1, ) for f in os.listdir('schools')})