正确的索引编制以在Pandas中创建新的数据框

雪莉

基本上,我试图将可怕的csv文件重新排列为可用的信息,并且我认为我试图欺骗切片过程,这导致大量索引与复制警告,最终导致错误的结果。

我有看起来像这样的数据:

lipid1 #some of the names of lipids have commas in them which is an added challenge
tissue1,1
tissue2,6
tissue3,3
tissue4,2
tissue5,5


lipid2
tissue1,24
tissue2,15
tissue3,12
tissue4,14
tissue5,10

我想让它像

        tissue1  tissue2  tissue3  tissue4  tissue5
lipid1  1        6        3        2        5
lipid2  24       15       12       14       10

可以肯定的是,这是我忽略的简单解决方案,因为到目前为止,我一直在使用类似的方法:

alldata = pd.DataFrame()
for file in glob.glob("All5tissuesPos.csv"):
    filename = file[:-4]
    tissue = file[:-7]

    dirty = pd.read_csv(filename+'.csv', sep='\n', header=None, names=['Arb'])
    #data = dirty['Arb'].str.split(',',expand=True)

    lipid = dirty.iloc[::6]['Arb'].copy()
    #lipid = dirty.iloc[lambda x:x.index%6 == 0]['Arb'].copy()

    data = dirty['Arb'].str.split(',',expand=True)

    t=data[data.index %6 != 0]

    tissue1 = t[t[0]== 'Tissue 1']
    tissue1 ['lipid'] = lipid
    alldata.append(tissue1)
    tissue1.to_csv('test.csv')

最后一步的issue1确实看起来像我想要的,但是由于它实际上只是另一个数据框的一部分,而不是一个单独的数据框(无论如何,我还是认为),我得到了警告,当我添加它时,什么也没发生。这种代码应该是什么样的?是否有更快的方式一次对所有5个组织执行此操作?

洛兹

您可以简化一堆。我们将使用一个技巧来创建脂质的另一列,向前填充该值,然后删除原来的行,这不再是必需的。然后,我们将通过简单的数据透视表进入您的数据集。在我的样本数据中,我有一个带有混乱名称的脂质,包括逗号。

在这里,我每隔6行使用一次,就像您的条件一样,但是如果数据比较混乱并且缺少某些行,则可以像一样轻松地使用条件.str.contains('lipid')

dirty = pd.read_csv('test.csv', sep='\n', header=None, names=['Arb'])

# Broadcast lipid name, drop that "header" row
dirty['lipid_name'] = dirty['Arb'].where(dirty.index%6 == 0).ffill()
dirty = dirty[dirty.index%6 != 0]

# Now we can split data properly
dirty = dirty.set_index('lipid_name')['Arb'].str.split(',', expand=True)

dirty.pivot(columns=0, values=1).rename_axis(None, axis=1)

                           tissue1 tissue2 tissue3 tissue4 tissue5
lipid_name                                                             
lipid11231,12312313,123123       1       6       3       2       5
lipid2                          24      15      12      14      10

样本数据: test.csv

lipid11231,12312313,123123
tissue1,1
tissue2,6
tissue3,3
tissue4,2
tissue5,5
lipid2
tissue1,24
tissue2,15
tissue3,12
tissue4,14
tissue5,10

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫数据框索引编制不正确

来自分类Dev

无法在熊猫数据框中按时间戳编制索引

来自分类Dev

在熊猫数据框中按行计数编制索引

来自分类Dev

在多索引熊猫数据框中创建多个新列

来自分类Dev

在多索引数据框中创建新列并填充

来自分类Dev

如何在pandas数据框中创建列层次索引

来自分类Dev

在 Pandas 数据框中创建重复值索引

来自分类Dev

str。包含在pandas数据框中创建新列

来自分类Dev

从Pandas数据框中的其他列创建新列

来自分类Dev

基于 if/elif/and 函数在 Pandas 数据框中创建新列

来自分类Dev

如何使用 Pandas.assign 从 Pandas 数据框索引创建一个新列?

来自分类Dev

在Pandas Python中理解数据框以创建新的数据框

来自分类Dev

Python Pandas过滤并创建新的数据框

来自分类Dev

在数据框中创建新列:组中的索引(组之间不唯一)

来自分类Dev

以最快的方式从数据框Python中的索引创建字典的新列表

来自分类Dev

使用逻辑索引和分组依据在熊猫数据框中创建新列

来自分类Dev

Python:根据给定的索引使用现有 df 中的行创建新数据框

来自分类Dev

根据R中另一个数据框的索引创建一个新的数据框

来自分类Dev

Pandas 中数据框列的索引

来自分类Dev

使用数据框的列值为多索引数据框的行编制索引

来自分类Dev

如何处理 Pandas 中的 2 列并使用新列名创建新数据框

来自分类Dev

如何使用datetime.date为数据框中的一天中的行范围编制索引?

来自分类Dev

Python Pandas,将groupby()组标签设置为新数据框中的索引

来自分类Dev

索引编制是否使Sliced Pandas数据帧更快?

来自分类Dev

Elasticsearch中的索引编制

来自分类Dev

在R中创建新数据框

来自分类Dev

在python数据框中创建新的矢量

来自分类Dev

在熊猫数据框中创建新列

来自分类Dev

如何在不同的输入参数中应用相同的函数在pandas数据框中创建新列?

Related 相关文章

  1. 1

    熊猫数据框索引编制不正确

  2. 2

    无法在熊猫数据框中按时间戳编制索引

  3. 3

    在熊猫数据框中按行计数编制索引

  4. 4

    在多索引熊猫数据框中创建多个新列

  5. 5

    在多索引数据框中创建新列并填充

  6. 6

    如何在pandas数据框中创建列层次索引

  7. 7

    在 Pandas 数据框中创建重复值索引

  8. 8

    str。包含在pandas数据框中创建新列

  9. 9

    从Pandas数据框中的其他列创建新列

  10. 10

    基于 if/elif/and 函数在 Pandas 数据框中创建新列

  11. 11

    如何使用 Pandas.assign 从 Pandas 数据框索引创建一个新列?

  12. 12

    在Pandas Python中理解数据框以创建新的数据框

  13. 13

    Python Pandas过滤并创建新的数据框

  14. 14

    在数据框中创建新列:组中的索引(组之间不唯一)

  15. 15

    以最快的方式从数据框Python中的索引创建字典的新列表

  16. 16

    使用逻辑索引和分组依据在熊猫数据框中创建新列

  17. 17

    Python:根据给定的索引使用现有 df 中的行创建新数据框

  18. 18

    根据R中另一个数据框的索引创建一个新的数据框

  19. 19

    Pandas 中数据框列的索引

  20. 20

    使用数据框的列值为多索引数据框的行编制索引

  21. 21

    如何处理 Pandas 中的 2 列并使用新列名创建新数据框

  22. 22

    如何使用datetime.date为数据框中的一天中的行范围编制索引?

  23. 23

    Python Pandas,将groupby()组标签设置为新数据框中的索引

  24. 24

    索引编制是否使Sliced Pandas数据帧更快?

  25. 25

    Elasticsearch中的索引编制

  26. 26

    在R中创建新数据框

  27. 27

    在python数据框中创建新的矢量

  28. 28

    在熊猫数据框中创建新列

  29. 29

    如何在不同的输入参数中应用相同的函数在pandas数据框中创建新列?

热门标签

归档