小编Gma*_*man的帖子

如何使用 Pandas 并行读取 .xls?

我想使用 Pandas 并行读取一个大的 .xls 文件。目前我正在使用这个:

LARGE_FILE = "LARGEFILE.xlsx"
CHUNKSIZE = 100000 # processing 100,000 rows at a time

def process_frame(df):
      # process data frame
      return len(df)

if __name__ == '__main__':
      reader = pd.read_excel(LARGE_FILE, chunksize=CHUNKSIZE)
      pool = mp.Pool(4) # use 4 processes

      funclist = []
      for df in reader:
              # process each data frame
              f = pool.apply_async(process_frame,[df])
              funclist.append(f)

      result = 0
      for f in funclist:
              result += f.get(timeout=10) # timeout in 10 seconds
Run Code Online (Sandbox Code Playgroud)

虽然这会运行,但我认为它实际上并没有加快读取文件的过程。有没有更有效的方法来实现这一目标?

python parallel-processing pandas

5
推荐指数
1
解决办法
1096
查看次数

如何通过python中的键在循环中命名pandas数据帧?

我想在循环中创建数据帧,但是使用键命名每个数据帧,而不是覆盖循环中的每个数据帧.

这是我的数据框的简化版本:

ID  Field  Value
1     A     1.1
2     A     1.2
3     A     2.4
4     B     1.7
5     B     4.3
6     C     2.2
Run Code Online (Sandbox Code Playgroud)

所以在这种情况下,我想最终得到3个名为A,B和C的数据框,所以这就是我累了:

df2= df.groupby(['Field'])
for key, group in df2:
   key = group.reset_index()
Run Code Online (Sandbox Code Playgroud)

但是当然,每个过度循环都会覆盖"密钥"这个名称.如何通过其键为循环中的每个数据框命名?

我还想创建一个创建的数据帧列表,以便跟踪它们.

python loops pandas python-3.4

4
推荐指数
1
解决办法
2724
查看次数

标签 统计

pandas ×2

python ×2

loops ×1

parallel-processing ×1

python-3.4 ×1