我有一个数据框 df
Name dist
aaaa 10
bbbb 11
cccc 41
dddd 77
Run Code Online (Sandbox Code Playgroud)
我想删除距离小于 10 的行到下一行。expexted 输出是
Name dist
aaaa 10
cccc 41
dddd 77
Run Code Online (Sandbox Code Playgroud)
为此,我使用了以下代码
>>> for idx,row in df.iterrows():
... if idx < df.shape[0]-1:
... if ((df.ix[idx+1,'dist_to_TSS']-df.ix[idx+1,'dist_to_TSS'])<10):
... df.drop(row)
...
Run Code Online (Sandbox Code Playgroud)
但我得到错误。你能帮我吗?
我有一个带有列city1,city2,city3,city4,city5的熊猫数据框df。我有一个列表my_cities = [“ city1”,“ city3”,“ city10”]。我想根据my_cities中的列对df进行子集设置。
my_cities = [“ city1”,“ city3”,“ city10”]
df_my_cities = df [my_cities]
我收到错误KeyError:“ ['city10']不在索引中”
如果来自my_cities的元素不在df中,我如何告诉代码继续执行?
我有一个pandas数据帧df:
Name Score
AAAA 4
AAAA 7
AAAA 12
AAAA 13
BBBB 1
BBBB 1
CCCC 1
CCCC 2
CCCC 27
Run Code Online (Sandbox Code Playgroud)
我想要一个新的数据帧,只有当每个"名称"出现至少3次时才会有来自df的值.即所需的输出是
Name Score
AAAA 4
AAAA 7
AAAA 12
AAAA 13
CCCC 1
CCCC 2
CCCC 27
Run Code Online (Sandbox Code Playgroud)
我知道df.groupby ['Name']给出了每个名字的频率.有关如何使用此信息获取所需输出的任何建议.谢谢
如何从文本文件中随机选择 500 行,但要确保始终包含标题。我的文件看起来像
列 1 列 2
AB
光盘
等等。第一行是标题。我试过 sort -r filename|head -n 500 但这并不能确保总是包含标题。谢谢
我有一个序列
seq = 'CCGATGACCTCACAGCCGCCTCCTGCCTTGAGGAAAGGAACTGCAATTCC'
Run Code Online (Sandbox Code Playgroud)
我试图得到长度为23bp的序列,以NGG结尾,其中N = A或C或T或G`
我用p = re.compile('([ACGT]{21}GG)'),当我说
for m in p.finditer(seq):
print m.group()
Run Code Online (Sandbox Code Playgroud)
我只得到CACAGCCGCCTCCTGCCTTGAGG.
但显然CCGCCTCCTGCCTTGAGGAAAGG也是匹配.为什么没有报道?
在pandas数据帧df中
name value
aaaaa 1
aaaa_cntrl 2
bbbb_cntrl 3
ccccc 10
Run Code Online (Sandbox Code Playgroud)
我想删除名称列中包含"_cntrl"的行.你能建议怎么做吗?我查看了df.drop,但无法弄清楚如何根据基于字符串的匹配放弃.谢谢
我有一个11列的Pandas DataFrame, df
Name aaa bbb ccc ddd eee fff ggg hhh iii jjj kkk
Run Code Online (Sandbox Code Playgroud)
我想重命名列,以便新的标题是
Name type_1 type_2 type_3 type_4 type_5 expt_1 expt_2 expt_3 expt_4 expt_5
Run Code Online (Sandbox Code Playgroud)
我可以使用,df.rename但必须手动输入新名称。
您能告诉我如何将名称迭代更改为type_*或expt_*吗?哪里
* = half the number of columns excluding the first one (Name)
Run Code Online (Sandbox Code Playgroud)
我问这个问题是因为我想将这个命名系统推广到一个有1000列的大表中。
我有一个python列表
l = [('insert_0', 'gtttaattgag'), ('insert_1', 'tttaattgagt'), ('insert_10', 'gttgtcatatg'), ('insert_11', 'ttgtcatatgt'), ('insert_12', 'tgtcatatgtt'), ('insert_2', 'ttaattgagtt'), ('insert_3', 'taattgagttg'), ('insert_4', 'aattgagttgt'), ('insert_5', 'attgagttgtc'), ('insert_6', 'ttgagttgtca'), ('insert_7', 'tgagttgtcat'), ('insert_8', 'gagttgtcata'), ('insert_9', 'agttgtcatat')]
Run Code Online (Sandbox Code Playgroud)
我希望它排序,看起来像
l_needed = [('insert_0', 'gtttaattgag'), ('insert_1', 'tttaattgagt'),('insert_2', 'ttaattgagtt'),('insert_3', 'taattgagttg'), ('insert_4', 'aattgagttgt'), ('insert_5', 'attgagttgtc'), ('insert_6', 'ttgagttgtca'), ('insert_7', 'tgagttgtcat'), ('insert_8', 'gagttgtcata'), ('insert_9', 'agttgtcatat'),('insert_10', 'gttgtcatatg'), ('insert_11', 'ttgtcatatgt'), ('insert_12', 'tgtcatatgtt'),..]
Run Code Online (Sandbox Code Playgroud)
ie l按下标的升序排序"insert".我试过
l.sort()不生产l_needed.你能建议编辑吗?