繁体   English   中英

在python中将数组转换为列表时如何删除方括号和引号

[英]how to remove square brackets and quotation mark when convert array to list in python

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

正如您在图片中看到的,我想将数组转换为列表,最后转换为 excel。 但是我遇到的问题是两边的所有数据都有方括号和引号。 我应该怎么做才能删除它们? 请帮我解决这个问题,谢谢!

简单地说:我的列表就像 [['a'], ['b'], ['c']] 并且我想将它转换为 a,b,c

这是我的代码

def top_rank(result, md_adj, miRNAs, diseases):
row, col = result.shape
rows_list = []

for i in range(3):
    pidx = np.argsort(-result[:, i])
    sidx = np.argwhere(md_adj[:, i] == 1)
    indices = np.argwhere(np.isin(pidx, sidx))
    index = np.delete(pidx, indices)
    a = diseases[i]
    b = miRNAs[index]
    c = np.vstack([a,b]).tolist()
    rows_list.append(c)


df = pd.DataFrame(rows_list)
df = df.T
df.to_excel('test.xlsx')

如果您有嵌套列表[['a'], ['b'], ['c']]那么您可以使用for -loop 使其变平['a', 'b', 'c']

data = [ ['a'], ['b'], ['c']]

flatten = [row[0] for row in data]

print(flatten)

或者你也可以使用["a"] + ["b"]给出["a", "b"]事实 - 所以你可以使用sum()[]作为起始值

data = [['a'], ['b'], ['c']]

flatten = sum(data, [])

print(flatten)

如果你有numpy.array那么你可以简单地使用arr.flatten()

import numpy as np

data = [['a'], ['b'], ['c']]
arr = np.array(data)

flatten = arr.flatten()

print(flatten)

但是...图像显示你有[['X', 'Y'], ['a'], ['b'], ['c']]并且第一个元素有两个值 - 这需要不同的方法创建展平['X Y', 'a', 'b', 'c'] 它需要将for -loop 与join()

data = [['X', 'Y'], ['a'], ['b'], ['c']]

flatten = [' '.join(row) for row in data]

print(flatten)

同样使用map()

data = [['X', 'Y'], ['a'], ['b'], ['c']]

flatten = list(map(",".join, data))

print(flatten)

当您将列表展平时,您的代码+

rows_list = [flatten]

df = pd.DataFrame(rows_list)
df = df.T

print(df)

     0
0  X Y
1    a
2    b
3    c

没有[]''


顺便提一句:

如果您要创建字典rows_list[a] = b (在将a转换为字符串并将b转换为展平列表之后),则不需要转置df = df.T

import pandas as pd

a = [['X', 'Y']]
b = [['a'], ['b'], ['c']]

print('a:', a)
print('b:', b)
print('---')

a = " ".join(sum(a, []))
b = sum(b, [])

print('a:', a)
print('b:', b)
print('---')

rows = dict()
rows[a] = b

df = pd.DataFrame(rows)
print(df)

a: [['X', 'Y']]
b: [['a'], ['b'], ['c']]
---
a: X Y
b: ['a', 'b', 'c']
---
  X Y
0   a
1   b
2   c

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM