【发布时间】: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' ]]
什么是删除逗号?如何保留?
【问题讨论】:
-
数组显示不带逗号,列表带。
-
为什么你希望第三个
output与second相同? -
因为我们只是将列表列表转换为数组。我观察到 print(arr) 显示不带逗号的元素,但是如果我在输入命令行中键入变量 arr,它会在输出中正确显示带有逗号的值。
-
数组的
str()(由print使用)显示不带逗号,repr()显示逗号,array名称。两个显示器都是proper。这是numpy多年来一直使用的惯例。另见np.array_str和np.array_repr的输出。 -
arr.tolist()将数组转换回列表,该列表始终以逗号显示。