我已经从文件中提取了多个数据,现在我想创建我感兴趣的数据的数据框。我尝试过以下方法:
anticodon = re.findall(r'(at.\w\w-\w\w)', line)
for line in anticodon:
anticod = line.replace('at ', '')
import pandas as pd
df1 = pd.DataFrame({'id': [m_id], 'cod': [anticod]})
print df1
* similar way I have extraced m_id
但是在输出中,我只会得到两列的最后一行,而不是整个列。如何获得完整的数据?
答案 0 :(得分:3)
每次迭代anticod
时,您都将覆盖anticodon
的值,因此将其保留为最终值。您需要存储每个值,例如,可以在anticods = []
开头创建一个列表,并在for循环中追加到该列表:
anticods = []
anticodon = re.findall(r'(at.\w\w-\w\w)', line)
for line in anticodon:
anticod = line.replace('at ', '')
anticods.append(anticod)
m_ids = []
#similar logic for m_id
要将其转换为数据框,请将您的列表作为列值传递:
import pandas as pd
d = {'id': m_ids, 'cod': anticods}
df1 = pd.DataFrame(data=d)