从列表中使用python创建数据框

时间:2018-07-31 06:18:37

标签: python-2.7 dataframe

我已经从文件中提取了多个数据,现在我想创建我感兴趣的数据的数据框。我尝试过以下方法:

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

但是在输出中,我只会得到两列的最后一行,而不是整个列。如何获得完整的数据?

1 个答案:

答案 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)