我已经在我的 Windows 机器上安装了 wsl2,但我无法弄清楚文件的实际存储位置。
请注意,我并不是说我想在文件资源管理器中浏览它们 - 我知道这可以通过在资源管理器中输入来完成\\wsl$\。
如果我不得不猜测,我会说文件存储在与操作系统存储相同的硬盘驱动器中。
所以实际上我有两个相关的问题。
编辑:
我能够找到安装路径,在我的机器中路径是:
C:\Users\Eliran\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState
有没有办法将它安装到另一个位置?
正如标题所暗示的,我试图在执行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)
在前几行中,我找到了一种集成进度条的方法,但此方法对最后一行不起作用,我该如何实现?
假设我有一个如下所示的元组列表:
a = [('a','b'), ('c','d'), ('e','f')]
如果我要执行这一行,'a' in a我会得到False.
有没有办法告诉python“只搜索第一个参数并接受第二个参数”?
这样我就可以搜索类似的东西('a', *) in a并得到True?
我目前有一个用 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 数据帧?
假设我有这个创建有向图的代码:
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 笔记本中编写了代码,您可以在其中看到图表,希望它有所帮助。
编辑:这在某种程度上与这个问题有关,区别在于,在那篇文章中假设图形是连接的,因此只有一个根;我的例子中并非如此。我可以将我的图“划分”为连接的子图,然后在每个子图中搜索根吗?
我有两个基因列表,我计算它们之间的交集。
我需要计算假设的 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 ×5
pandas ×2
dask ×1
dataframe ×1
graph ×1
list ×1
networkx ×1
p-value ×1
python-3.x ×1
statistics ×1
tqdm ×1
tuples ×1
windows-subsystem-for-linux ×1
wsl-2 ×1