【问题标题】:list to array conversion issue列表到数组转换问题
【发布时间】:2017-08-20 19:29:47
【问题描述】:

我正在尝试将列表转换为数组并获得相同的数据格式问题。代码如下:sn-p:

输入

f=open('crime_rates.csv','r')
data=f.read()
data_row = data.split('\n')
print(data_row[0:5])

输出

['Albuquerque,749', 'Anaheim,371', 'Anchorage,828', 'Arlington,503', 'Atlanta,1379']

下一个代码输入

int_crime_rates=[]
for rows in data_row:
    crime_rates=rows.split(',')
    int_crime_rates.append(crime_rates)
print(int_crime_rates)

输出

[['Albuquerque', '749'], ['Anaheim', '371'], ['Anchorage', '828'], ['Arlington', '503'], ['Atlanta', '1379']]

下一个代码输入

import numpy as np
arr=np.array(int_crime_rates)
print(arr)

输出

[['Albuquerque' '749']
 ['Anaheim' '371']
 ['Anchorage' '828']
 ['Arlington' '503']
 ['Atlanta' '1379' ]]

元素之间缺少逗号,例如我期待低于结果集

[['Albuquerque', '749'],
 ['Anaheim', '371'],
 ['Anchorage', '828'],
 ['Arlington', '503'],
 ['Atlanta', '1379' ]]

什么是删除逗号?如何保留?

【问题讨论】:

  • 数组显示不带逗号,列表带。
  • 为什么你希望第三个outputsecond 相同?
  • 因为我们只是将列表列表转换为数组。我观察到 print(arr) 显示不带逗号的元素,但是如果我在输入命令行中键入变量 arr,它会在输出中正确显示带有逗号的值。
  • 数组的str()(由print 使用)显示不​​带逗号,repr() 显示逗号​​,array 名称。两个显示器都是proper。这是numpy 多年来一直使用的惯例。另见np.array_strnp.array_repr 的输出。
  • arr.tolist() 将数组转换回列表,该列表始终以逗号显示。

标签: python arrays list numpy


【解决方案1】:

将其转换为列表:-)

newArr = list(map(list, arr))

newArr 应该是一个带有逗号的列表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-08
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    相关资源
    最近更新 更多