小编Eli*_*man的帖子

wsl2里面的文件物理存储在哪里?

我已经在我的 Windows 机器上安装了 wsl2,但我无法弄清楚文件的实际存储位置。
请注意,我并不是说我想在文件资源管理器中浏览它们 - 我知道这可以通过在资源管理器中输入来完成\\wsl$\
如果我不得不猜测,我会说文件存储在与操作系统存储相同的硬盘驱动器中。

所以实际上我有两个相关的问题。

  1. 文件存储在哪里?
  2. 如果它们存储在我的操作系统的硬盘驱动器中,我可以以某种方式将我的 wsl 重新定位到另一个硬盘驱动器吗?

编辑:
我能够找到安装路径,在我的机器中路径是:
C:\Users\Eliran\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState

有没有办法将它安装到另一个位置?

windows-subsystem-for-linux wsl-2

23
推荐指数
3
解决办法
2万
查看次数

带有 tqdm 的 Pandas to_csv 进度条

正如标题所暗示的,我试图在执行pandas.to_csv.
我有以下脚本:

def filter_pileup(pileup, output, lists):
    tqdm.pandas(desc='Reading, filtering, exporting', bar_format=BAR_DEFAULT_VIEW)
    # Reading files
    pileup_df = pd.read_csv(pileup, '\t', header=None).progress_apply(lambda x: x)
    lists_df = pd.read_csv(lists, '\t', header=None).progress_apply(lambda x: x)
    # Filtering pileup
    intersection = pd.merge(pileup_df, lists_df, on=[0, 1]).progress_apply(lambda x: x)
    intersection.columns = [i for i in range(len(intersection.columns))]
    intersection = intersection.loc[:, 0:5]
    # Exporting filtered pileup
    intersection.to_csv(output, header=None, index=None, sep='\t')
Run Code Online (Sandbox Code Playgroud)

在前几行中,我找到了一种集成进度条的方法,但此方法对最后一行不起作用,我该如何实现?

python pandas tqdm

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

有没有办法只搜索元组列表中的第一个坐标?

假设我有一个如下所示的元组列表:
a = [('a','b'), ('c','d'), ('e','f')]
如果我要执行这一行,'a' in a我会得到False.
有没有办法告诉python“只搜索第一个参数并接受第二个参数”?
这样我就可以搜索类似的东西('a', *) in a并得到True?

python tuples list python-3.x

4
推荐指数
2
解决办法
107
查看次数

使用 dask 合并列

我目前有一个用 pandas 编写的简单脚本,我想将其转换为 dask 数据帧。
在此脚本中,我正在对用户指定列上的两个数据帧执行合并,并尝试将其转换为 dask。

def merge_dfs(df1, df2, columns):
    merged = pd.merge(df1, df2, on=columns, how='inner')
...
Run Code Online (Sandbox Code Playgroud)

如何更改此行以匹配 dask 数据帧?

python dataframe pandas dask dask-dataframe

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

查找有向图内的所有根 (networkx)

假设我有这个创建有向图的代码:

dict = {1:['a1', 'a2', 'a3'], 2:['a4', 'a5','a7']}
graph = nx.from_dict_of_lists(dict)
digraph = nx.DiGraph(graph)
Run Code Online (Sandbox Code Playgroud)

我怎样才能找到这个图中的所有根?该图的预期输出为 [1,2]

如果这对您来说更方便,我已经在google colab 笔记本中编写了代码,您可以在其中看到图表,希望它有所帮助。

编辑:这在某种程度上与这个问题有关,区别在于,在那篇文章中假设图形是连接的,因此只有一个根;我的例子中并非如此。我可以将我的图“划分”为连接的子图,然后在每个子图中搜索根吗?

python graph networkx

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

在Python中使用超几何测试

我有两个基因列表,我计算它们之间的交集。
我需要计算假设的 p 值 - 这些列表的交集是偶然发生的。
我尝试使用 Fisher 的精确测试(scipy 函数)来实现这一点。
请注意,我需要一个单边 p 值。

我的代码:

def main(gene_path1, gene_path2, pop_size):
    genes1 = pd.read_csv(gene_path1, sep='\n', header=None)
    genes2 = pd.read_csv(gene_path2, sep='\n', header=None)

    intersection = pd.merge(genes1, genes2, how='inner').drop_duplicates([0])

    len_genes1 = genes1[0].count()
    len_genes2 = genes2[0].count()
    len_intersection = intersection[0].count()

    oddsratio, pvalue = stats.fisher_exact([[len_genes1 - len_intersection, len_genes1], [len_genes2 - len_intersection, len_genes2]], alternative='less')

    print(f'Genes1 len: {len_genes1}, Genes2 len: {len_genes2}, Intersection: {len_intersection}, pvalue: {pvalue}')
Run Code Online (Sandbox Code Playgroud)

为了简单起见,我使用了数字列表(而不是基因)。

由于它太长,我不会复制整个文件,而是想象两个文件,其中包含大量由换行符分隔的随机数。
例如:

1
2
3
246
51451
...
Run Code Online (Sandbox Code Playgroud)

问题是 - 我如何确定我正确指定了渔夫精确函数的参数?根据我试图检查的假设是否正确?
我怀疑我做错了,但我不确定为什么。可能是错误的提示 - …

python statistics p-value

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