Python 将包含整数列表的字符串列表转换为数组

Python 将包含整数列表的字符串列表转换为数组,python,pandas,Python,Pandas,我有一个序列,它是一个包含整数的列表列表,我正试图将这些整数转换为数组。这是我试图转换为数组的列表中的一个小片段 ['[0, 0, 0, 0, 0, 0, 0, 0, 0, 1]', '[0, 0, 0, 0, 0, 0, 0, 0, 1, 0]', '[0, 0, 0, 0, 0, 0, 0, 1, 0, 0]', '[0, 0, 0, 0, 0, 0, 0, 1, 0, 1]', '[0, 0, 0, 0, 0, 0, 0, 1, 1, 1]'] 我试图用.replace替换引号,

我有一个序列,它是一个包含整数的列表列表,我正试图将这些整数转换为数组。这是我试图转换为数组的列表中的一个小片段

['[0, 0, 0, 0, 0, 0, 0, 0, 0, 1]',

'[0, 0, 0, 0, 0, 0, 0, 0, 1, 0]',

'[0, 0, 0, 0, 0, 0, 0, 1, 0, 0]',

'[0, 0, 0, 0, 0, 0, 0, 1, 0, 1]',

'[0, 0, 0, 0, 0, 0, 0, 1, 1, 1]']
我试图用.replace替换引号,但没有成功

sequence = [i.replace(" '' ", ' ') for i in sequence]

您可以使用
ast.literal\u eval
将字符串更改为整数列表

sequence = [literal_eval(i) for i in sequence]

# [[0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 1], [0, 0, 0, 0, 0, 0, 0, 1, 1, 1]]
您可以将其更改为
numpy
array

import numpy as np

array = np.asarray(sequence)
print(array)
import pandas as pd

array = pd.array([item for items in sequence for item in items])
print(array)
输出

[[0 0 0 0 0 0 0 0 0 1]
 [0 0 0 0 0 0 0 0 1 0]
 [0 0 0 0 0 0 0 1 0 0]
 [0 0 0 0 0 0 0 1 0 1]
 [0 0 0 0 0 0 0 1 1 1]]
或到1d
pandas
array

import numpy as np

array = np.asarray(sequence)
print(array)
import pandas as pd

array = pd.array([item for items in sequence for item in items])
print(array)
出局

<IntegerArray>
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1]
Length: 50, dtype: Int64

[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1]
长度:50,数据类型:Int64

您可以使用
ast.literal\u eval
将字符串更改为整数列表

sequence = [literal_eval(i) for i in sequence]

# [[0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 1], [0, 0, 0, 0, 0, 0, 0, 1, 1, 1]]
您可以将其更改为
numpy
array

import numpy as np

array = np.asarray(sequence)
print(array)
import pandas as pd

array = pd.array([item for items in sequence for item in items])
print(array)
输出

[[0 0 0 0 0 0 0 0 0 1]
 [0 0 0 0 0 0 0 0 1 0]
 [0 0 0 0 0 0 0 1 0 0]
 [0 0 0 0 0 0 0 1 0 1]
 [0 0 0 0 0 0 0 1 1 1]]
或到1d
pandas
array

import numpy as np

array = np.asarray(sequence)
print(array)
import pandas as pd

array = pd.array([item for items in sequence for item in items])
print(array)
出局

<IntegerArray>
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1]
Length: 50, dtype: Int64

[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1]
长度:50,数据类型:Int64

那么您有一个字符串列表,每个字符串代表一个整数列表?是的!我想把整数列表转换成一个数组。你可以使用
ast.literal\u eval()
将字符串转换成Python列表……这能回答你的问题吗?你有一个字符串列表,每个字符串代表一个整数列表?是的!我想把整数列表转换成一个数组。你可以使用
ast.literal\u eval()
将字符串转换成Python列表……这能回答你的问题吗?