[英]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.