python:多列pandas数据文件

狐狸大师

我正在编写一个 Python 脚本,它在 N .SDF 填充上循环,使用 glob 创建它们的列表,对每个文件执行一些计算,然后将此信息存储在 Pandas 数据文件格式中。假设我计算了每个文件的 4 个不同属性,对于 1000 次填充,预期输出应以 5 列 1000 行的数据文件格式进行汇总。以下是代码示例:

  # make a list of all .sdf filles present in data folder:
dirlist = [os.path.basename(p) for p in glob.glob('data' + '/*.sdf')]

# create empty data file with 5 columns:
# name of the file,  value of variable p, value of ac, value of don, value of wt
df = pd.DataFrame(columns=["key", "p", "ac", "don", "wt"])

# for each sdf file get its name and calculate 4 different properties: p, ac, don, wt
for sdf in dirlist:
        sdf_name=sdf.rsplit( ".", 1 )[ 0 ]
        # set a name of the file
        key = f'{sdf_name}'
        mol = open(sdf,'rb')
        # --- do some specific calculations --
        p = MolLogP(mol) # coeff conc-perm
        ac = CalcNumLipinskiHBA(mol)#
        don = CalcNumLipinskiHBD(mol)
        wt = MolWt(mol)
        # add one line to DF in the following order : ["key", "p", "ac", "don", "wt"]
        df[key] = [p, ac, don, wt]

问题出在脚本的最后一行,需要在一行中汇总所有计算并将其与处理过的文件一起附加到 DF 中。最终,对于 1000 个处理过的 SDF 填充,我的 DF 应该包含 5 列和 1000 行。

亚历克斯_158
# make a list of all .sdf filles present in data folder:
dirlist = [os.path.basename(p) for p in glob.glob('data' + '/*.sdf')]

# create empty data file with 5 columns:
# name of the file,  value of variable p, value of ac, value of don, value of wt

# for each sdf file get its name and calculate 4 different properties: p, ac, don, wt

holder = []
for sdf in dirlist:
        sdf_name=sdf.rsplit( ".", 1 )[ 0 ]
        # set a name of the file
        key = f'{sdf_name}'
        mol = open(sdf,'rb')
        # --- do some specific calculations --
        p = MolLogP(mol) # coeff conc-perm
        ac = CalcNumLipinskiHBA(mol)#
        don = CalcNumLipinskiHBD(mol)
        wt = MolWt(mol)
        # add one line to DF in the following order : ["key", "p", "ac", "don", "wt"]
        output_list = pd.Series([key, p, ac, don, wt])
        holder.append(output_list)

df = pd.concat(holder, axis = 1)
df.rename(columns={0:"key", 1:"p", 2:"ac", 3:"don", 4:"wt"], inplace = True)
print(df)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

处理数据文件中的多列

来自分类Dev

使用python从数据文件中提取选定的列

来自分类Dev

使用python从数据文件中提取选定的列

来自分类Dev

matlab数据文件到pandas DataFrame

来自分类Dev

gnuplot从数据文件列读取线型

来自分类Dev

gnuplot从数据文件列读取线型

来自分类Dev

Python & Pandas:读取数据时如何跳过创建中间数据文件?

来自分类Dev

从python包中访问数据文件

来自分类Dev

数据文件中的Python Matplotlib IMShow

来自分类Dev

在python中分割大数据文件

来自分类Dev

在python中解析通用数据文件

来自分类Dev

在python中解析csv数据文件

来自分类Dev

gnuplot 4.2 和多图数据文件

来自分类Dev

在python中读取和保存具有可变列数的数据文件

来自分类Dev

如何将数据文件的两列相乘并在python中添加它们?

来自分类Dev

在python中读取和保存具有可变列数的数据文件

来自分类Dev

Python:将小时连接到数据文件中的 dd/mm/yyyy 列

来自分类Dev

合并数据文件

来自分类Dev

Python-将两个数据集(列表?)作为两列输出到数据文件

来自分类Dev

c-读取数据文件中的特定列

来自分类Dev

将2列数据文件转换为行格式

来自分类Dev

从数据文件中选择列并将其放置在另一个文件中,使用 python

来自分类Dev

使用Python导入数据文件并进行后处理

来自分类Dev

如何在Python中正确加载数据文件

来自分类Dev

如何确保python找到必要的数据文件?

来自分类Dev

Python从Web爬网URL下载数据文件

来自分类Dev

在python中将数据文件读入多维数组

来自分类Dev

如何在Python的类中读取数据文件?

来自分类Dev

Python Web scrape使用后端json数据文件

Related 相关文章

热门标签

归档