小编Pau*_*arr的帖子

将 pandas csv 保存到子目录

我正在尝试将以下代码的输出保存到子目录中:

for gp in g:
    filename = gp[0] + '.csv'
    print(filename)
    gp[1].to_csv(filename)
Run Code Online (Sandbox Code Playgroud)

我首先创建了子目录:

os.makedirs('MonthlyDataSplit')
Run Code Online (Sandbox Code Playgroud)

但是我找不到有关如何使用to_csv保存到子目录而不是当前目录的任何信息。我正在考虑的一种方法是使用 ,with "MonthlyDataSplit" open as directory但我只能找到在子目录中打开文件的等效方法。

python csv filepath pandas

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

使用python随机从列表中提取x项

从两个列表开始,例如:

lstOne = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
lstTwo = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
Run Code Online (Sandbox Code Playgroud)

我想让用户输入他们想要提取的项目数,占总列表长度的百分比,以及每个列表中随机提取的相同索引.例如,说我想要50%的输出

newLstOne = ['8', '1', '3', '7', '5']
newLstTwo = ['8', '1', '3', '7', '5']
Run Code Online (Sandbox Code Playgroud)

我使用以下代码实现了这一点:

from random import randrange

lstOne = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
lstTwo = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', '10']

LengthOfList = len(lstOne)
print LengthOfList

PercentageToUse = …
Run Code Online (Sandbox Code Playgroud)

python random list indices

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

使用空格拆分python列表的第一项

我有一个简单的列表如下:

lst = ['11 12221/n']
Run Code Online (Sandbox Code Playgroud)

我想将第一项分成如下列表:

['11', '12221']
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎相对简单,但我不能让它工作.我的第一个方法是:

lst[0].split() 
Run Code Online (Sandbox Code Playgroud)

但是当我打印列表时没有发生任何变化.我因此尝试过:

newLst=[]

for x in lst:
    newList.append(x.split())
Run Code Online (Sandbox Code Playgroud)

但是我得到了

[['11', '12221\n']]
Run Code Online (Sandbox Code Playgroud)

我认为我必须从根本上误解列表理解,有人可以解释为什么我的代码不起作用以及应该如何完成它?

谢谢

python whitespace list-comprehension list

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

使用Python从Newick格式中提取分支长度

我在python中有一个列表,由一个项目组成,这是一个用Newick格式编写的树,如下所示:

['(BMNH833953:0.16529463651919140688,(((BMNH833883:0.22945757727367316336,(BMNH724182a:0.18028180766761139897,(BMNH724182b:0.21469677818346077913,BMNH724082:0.54350916483644962085):0.00654573856803835914):0.04530853441176059537):0.02416511342888815264,(((BMNH794142:0.21236619242575086042,(BMNH743008:0.13421900772403019819,BMNH724591:0.14957653992840658219):0.02592135486124686958):0.02477670174791116522,BMNH703458a:0.22983459269245612444):0.00000328449424529074,BMNH703458b:0.29776257618061197086):0.09881729077887969892):0.02257522897558370684,BMNH833928:0.21599133163597591945):0.02365043128986757739,BMNH724053:0.16069861523756587274):0.0;']
Run Code Online (Sandbox Code Playgroud)

在树格式中,如下所示:

在此输入图像描述

我正在尝试编写一些代码,这些代码将查看列表项并返回ID(BMNHxxxxxx),这些ID通过分支长度0(或者例如<0.001)连接(以红色突出显示).我想过使用正则表达式如:

JustTree = []
with JustTree as f:
    for match in re.finditer(r"(?<=Item\sA)(?:(?!Item\sB).){50,}", subject, re.I):
        f.extend(match.group()+"\n") 
Run Code Online (Sandbox Code Playgroud)

从另一个StackOverflow答案中得出,其中项目A将是':',因为分支长度总是出现在:和项目B可以是','或')'或';' 因为这有三个字符划分它,但我没有经验足够的正则表达式来做到这一点.

在这种情况下,通过使用0的分支长度,我希望代码输出['BMNH703458a','BMNH703458b'].如果我可以改变它以包括通过用户定义的值0.01的分支长度加入的ID,这将是非常有用的.

如果有人有任何意见,或者可以指出我有用的答案,我将非常感激.

python regex dna-sequence phylogeny

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

将带有嵌套括号的字符串转换为嵌套列表,python

Stack Overflow 上还有其他涉及此问题的问题,例如如何解析字符串并返回嵌套数组?

但它们都引用了((abc)de(fg))). 转到表格:[['a','b','c']'d','e'['f','g',]]] 我有一个表格列表:

((wordOneWord2)OtherWord(FinalWord)))
Run Code Online (Sandbox Code Playgroud)

通过使用我从嵌套列表的其他问题中学到的方法,其形式如下:

[['w','o','r','d','O','n','e','W','o','r','d','2']'O','t','h','e','r','W','o','r','d',['F','i','n','a','l','W','o','r','d']]]
Run Code Online (Sandbox Code Playgroud)

而不是想要的

[['wordOneWord2'], 'OtherWord', ['FinalWord']]
Run Code Online (Sandbox Code Playgroud)

我可以通过逐个字母解析列表,然后将每个列表中的项目连接在一起来实现所需的结果,但这需要比我认为必要的更多的代码,是否有更快的方法来做到这一点?

python parsing nested list

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

使用 pandas 创建空 csv 文件

我正在通过多个 csv 文件进行交互,并希望将平均温度附加到空白 csv 文件中。如何使用 pandas 创建空的 csv 文件?

for EachMonth in MonthsInAnalysis:
    TheCurrentMonth = pd.read_csv('MonthlyDataSplit/Day/Day%s.csv' % EachMonth)
    MeanDailyTemperaturesForCurrentMonth = TheCurrentMonth.groupby('Day')['AirTemperature'].mean().reset_index(name='MeanDailyAirTemperature')
    with open('my_csv.csv', 'a') as f:
        df.to_csv(f, header=False)
Run Code Online (Sandbox Code Playgroud)

那么在上面的代码中如何创建循环my_csv.csv之前的内容for

请注意,我知道您可以创建一个数据框,然后将数据框保存到 csv,但我感兴趣的是您是否可以跳过此步骤。

就上下文而言,我有以下 csv 文件:

在此输入图像描述

每个都有以下结构:

在此输入图像描述

对于每个文件,“天”列最多可读取 30 天。

我想输出一个 csv 文件,如下所示:

在此输入图像描述

但显然包括所有月份的所有日子。

我的问题是,我不知道每个分析中包含哪些月份,因此我想使用一个 for 循环,该循环使用一个包含该信息的列表来访问相关的 csv,计算平均温度,然后将其全部保存到一个中csv。

输入为文本:

    Unnamed: 0  AirTemperature  AirHumidity SoilTemperature SoilMoisture    LightIntensity  WindSpeed   Year    Month   Day Hour    Minute  Second  TimeStamp   MonthCategorical    TimeOfDay
6   6   18  84  17  41  40  4   2016    1   1   6 …
Run Code Online (Sandbox Code Playgroud)

python csv is-empty pandas

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

使用正则表达式从python中的列表项中删除子字符串

我确定这一定是重复的问题,但我在任何地方都找不到答案。我有一个包含多个字符串的列表,如下所示:

['>ctg7180000016561_3757\nAAAAATTTAGTTAAAACTATAACATTAGCTTGTCAAGCTAAAATTACTATGTAAGTAGTAATTTTTA\n', '>ctg7180000016561_3824\nATCCCTCAAATAGCACCCATTAACTGATTATCCTTATTCTTAATATTCACCACCTCTCTCCTAATATTTAGAGCTTCTAACTATTTCTTTATCATGTACCCCCCCAAAAAATCTGTTTTTTATAAAAAAACTAGTATAAATAACTGATCATGATAACTAACCTCTTTTCGTCTTTCGACCCCTCTACTAACTTAAATACTAACTTTAACTGAGTTAGGACTATCCTCGGGGTGGCTGTAATCCCGAGGATATTTTGGATTATCCCCTCGCGTTTCTCCCTGCTTTGAATAAAACTTATCAGTACTCTTCACAAAGAATTCAAAGTCCTTGTTAACAACAAAAAATCCCAAGGCAGAACCCTAATCCTGATTTCCTTATTTTCTATTATTTTATTTAATAACTTCATAGGACTATTCCCATATATTTTCACATCCACAAGTCACATAGTATTAACCCTGTCCCTGGCTCTCCCCATATGACTAAGATTTATATTGTATGGGTGGGTAAATAATACAACCCACATGCTAGCCCATCTAGTACCCCAAGGAACCCCTGCCGTTCTAATACCATTTATGGTGTGTATTGAAACAATCAGAAATGTTATCCGACCCGGCACCCTGGCAATCCGGCTATCCGCAAATATAATTGCAGGACACCTACTAATAACCCTTCTAGGTAACACGGGAAAC\n', '>ctg7180000016561_4513\nT\n']
Run Code Online (Sandbox Code Playgroud)

我要做的就是删除下划线后的数字,因此在此示例中,输出为:

['>ctg7180000016561\nAAAAATTTAGTTAAAACTATAACATTAGCTTGTCAAGCTAAAATTACTATGTAAGTAGTAATTTTTA\n', '>ctg7180000016561\nATCCCTCAAATAGCACCCATTAACTGATTATCCTTATTCTTAATATTCACCACCTCTCTCCTAATATTTAGAGCTTCTAACTATTTCTTTATCATGTACCCCCCCAAAAAATCTGTTTTTTATAAAAAAACTAGTATAAATAACTGATCATGATAACTAACCTCTTTTCGTCTTTCGACCCCTCTACTAACTTAAATACTAACTTTAACTGAGTTAGGACTATCCTCGGGGTGGCTGTAATCCCGAGGATATTTTGGATTATCCCCTCGCGTTTCTCCCTGCTTTGAATAAAACTTATCAGTACTCTTCACAAAGAATTCAAAGTCCTTGTTAACAACAAAAAATCCCAAGGCAGAACCCTAATCCTGATTTCCTTATTTTCTATTATTTTATTTAATAACTTCATAGGACTATTCCCATATATTTTCACATCCACAAGTCACATAGTATTAACCCTGTCCCTGGCTCTCCCCATATGACTAAGATTTATATTGTATGGGTGGGTAAATAATACAACCCACATGCTAGCCCATCTAGTACCCCAAGGAACCCCTGCCGTTCTAATACCATTTATGGTGTGTATTGAAACAATCAGAAATGTTATCCGACCCGGCACCCTGGCAATCCGGCTATCCGCAAATATAATTGCAGGACACCTACTAATAACCCTTCTAGGTAACACGGGAAAC\n', '>ctg7180000016561\nT\n']
Run Code Online (Sandbox Code Playgroud)

我正在使用正则表达式,并且具有完美的匹配,但是我无法解决如何实际删除子字符串。到目前为止,我的代码是:

pattern = re.compile('_[0-9]*')
for x in SequenceList:
    re.sub(pattern, '', x)
Run Code Online (Sandbox Code Playgroud)

我知道这只是在更改变量x,但是即使我只是print x在for循环中,也不会删除模式。如何实际删除模式并更改列表?

谢谢,如果在某个地方已经回答了这个问题,对不起!

python regex list

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

如何绘制与平均值的偏差

在RI中创建了一个简单的一列矩阵,产生一个带有集合均值和给定标准差的数字列表.

rnorm2 <- function(n,mean,sd) { mean+sd*scale(rnorm(n)) }
r <- rnorm2(100,4,1)
Run Code Online (Sandbox Code Playgroud)

我现在想绘制这些数字与平均值的差异.我可以在Excel中执行此操作,如下所示:

在此输入图像描述

但是我想用ggplot2Excel中的R形图来创建一个图形,我用线图来欺骗,但如果我能用列做这个就更好了.我尝试过使用散点图,但我无法弄清楚如何将其转换为与均值的偏差.

r mean ggplot2

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