小编Rom*_*_91的帖子

如何使用另一个 DataFrame 的值作为索引和列引用(并替换其他值)来保留 DataFrame 中的值?

我有以下两个数据框:

import pandas as pd

df = pd.DataFrame([[0, 0, 0, 0, 0],
                   [0, 0, 0, 0, 0],
                   [0, 0, 0, 0, 0],
                   [0, 0, 0, 0, 0],
                   [0, 0, 0, 0, 0]],
                  index = [0, 0.25, 0.50, 0.75, 1],
                  columns = [0, 0.25, 0.50, 0.75, 1])

df_cross = pd.DataFrame([[0.0, 0.25],
                         [0.0, 0.75],
                         [0.5, 1]],
                        columns = ['indexes_to_keep',
                                   'cols_to_keep'])
Run Code Online (Sandbox Code Playgroud)

df:

      0.00  0.25  0.50  0.75  1.00
0.00     0     0     0     0     0
0.25     0     0     0     0     0
0.50     0     0 …
Run Code Online (Sandbox Code Playgroud)

python replace dataframe pandas

5
推荐指数
2
解决办法
186
查看次数

使用shutil.move移动文件太慢

我正在尝试使用shutil.move. 然而,这个过程需要很长时间才能完成。这些操作中通常会出现文件过多(接近 2,000 个)的情况,这些文件的总大小超过 1TB。

我查看了shutil.move文档,并解释说它shutil.move背后使用了复制功能(我想这就是过程如此缓慢的原因):

Shutil.move(src, dst, copy_function=copy2)

递归地将文件或目录 (src) 移动到另一个位置 (dst) 并返回目标。

如果目标是现有目录,则 src 会移动到该目录内。如果目标已经存在但不是目录,则它可能会被覆盖,具体取决于 os.rename() 语义。

如果目标位于当前文件系统上,则使用 os.rename()。否则,使用 copy_function 将 src 复制到 dst,然后删除。对于符号链接,将在 dst 中或作为 dst 创建一个指向 src 目标的新符号链接,并且 src 将被删除。

如果给出了 copy_function,它必须是一个带有两个参数 src 和 dst 的可调用函数,并且如果无法使用 os.rename() 则将用于将 src 复制到 dst。如果源是目录,则调用 copytree(),并向其传递 copy_function()。默认的copy_function是copy2()。使用 copy() 作为 copy_function 可以在无法复制元数据时成功移动,但代价是不复制任何元数据。

我已经尝试在文档中提供的复制功能之间进行更改shutil.move,但这并没有改善移动文件的时间。

当我尝试使用 自行移动文件时ctrl + X,文件会立即移动。有人知道是否有一种替代方法可以shutil.move使用,它具有与命令相同的性能ctrl + X

提前致谢。

编辑

我将所有要移动的文件放入一个文件夹中,然后执行shutil.move,所以我的代码只是:

src_folder = 'C:/Users/sim/Documents/files_to_move' …
Run Code Online (Sandbox Code Playgroud)

python shutil

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

标签 统计

python ×2

dataframe ×1

pandas ×1

replace ×1

shutil ×1