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]]
或到1dpandas
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]]
或到1dpandas
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列表……这能回答你的问题吗?