我正在尝试将以下代码的输出保存到子目录中:
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但我只能找到在子目录中打开文件的等效方法。
从两个列表开始,例如:
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) 我有一个简单的列表如下:
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中有一个列表,由一个项目组成,这是一个用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,这将是非常有用的.
如果有人有任何意见,或者可以指出我有用的答案,我将非常感激.
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)
我可以通过逐个字母解析列表,然后将每个列表中的项目连接在一起来实现所需的结果,但这需要比我认为必要的更多的代码,是否有更快的方法来做到这一点?
我正在通过多个 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) 我确定这一定是重复的问题,但我在任何地方都找不到答案。我有一个包含多个字符串的列表,如下所示:
['>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循环中,也不会删除模式。如何实际删除模式并更改列表?
谢谢,如果在某个地方已经回答了这个问题,对不起!
在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形图来创建一个图形,我用线图来欺骗,但如果我能用列做这个就更好了.我尝试过使用散点图,但我无法弄清楚如何将其转换为与均值的偏差.