Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python过滤csv数据而不使用熊猫_Python_Numpy_Csv - Fatal编程技术网

使用python过滤csv数据而不使用熊猫

使用python过滤csv数据而不使用熊猫,python,numpy,csv,Python,Numpy,Csv,我想根据公寓类型和转售价格的平均值进行过滤,即房间5,我正在尝试根据5房间公寓的转售价格值进行过滤。然而,当我试图“打印”room5时,它是空的列表。我错过了哪一部分 [![Code with printed data][1][1]获取房间 room5 = roomprice2013[ roomprice2013['flat_type'] == '5-room' ] print(room5) 求和 room5_sum = roomprice2013[ roomprice2013['flat_t

我想根据公寓类型和转售价格的平均值进行过滤,即房间5,我正在尝试根据5房间公寓的转售价格值进行过滤。然而,当我试图“打印”room5时,它是空的列表。我错过了哪一部分

[![Code with printed data][1][1]

获取房间

room5 = roomprice2013[ roomprice2013['flat_type'] == '5-room' ]
print(room5)
求和

room5_sum = roomprice2013[ roomprice2013['flat_type'] == '5-room' ]['price'].sum()
print(room5_sum)

工作示例

我使用了
io.StringIO
来模拟这个文件,这样每个人都可以复制并运行这个示例,而无需使用数据下载文件

import numpy as np
import io

s = io.StringIO('''quarter,town,flat_type,price
2013-Q2,Bedok,1-room,na
2013-Q2,Bedok,2-room,-
2013-Q2,Bedok,3-room,172000
2013-Q2,Bedok,4-room,224500
2013-Q2,Bedok,5-room,332000
2013-Q2,Bedok,Executive,420000''')

data = np.genfromtxt(s, skip_header=1, dtype=[('quarter','U10'),('town','U20'), ('flat_type','U10'), ('price','i8')], delimiter =',', missing_values=['na','-'],filling_values='0')

data_2013 = data[np.isin(data['quarter'], ['2013-Q1','2013-Q2','2013-Q3','2013-Q4'],['flat_type'])]
print(data_2013)

roomprice2013 = data_2013[['flat_type','price']]
print(roomprice2013)

room5 = roomprice2013[roomprice2013['flat_type'] == '5-room']
print(room5)

room5_sum = roomprice2013[roomprice2013['flat_type'] == '5-room']['price'].sum()
print(room5_sum)

编辑:internal
roomprice2013['flat_type']='5-room'
仅提供带有
True/False
的列表,您可以使用该列表(甚至多次)仅保留所需的行

mask = (roomprice2013['flat_type'] == '5-room')  # it works without () but it is more readable with ()
print(mask) 
# [False False False False  True False]

room5 = roomprice2013[mask]
print(room5)

room5_sum = roomprice2013[mask]['price'].sum()
print(room5_sum)

如果你再次问同样的问题,那么你至少应该把数据作为文本。或者创建最小的工作代码,以便我们可以复制它并运行测试。对不起,我需要将哪些数据作为文本以便于帮助?图像上的数据。始终将代码、数据和错误消息作为文本,而不是图像。Python无法从图像中读取信息。我已经在pastebin中添加了数据集:)感谢您的指导,并以文本格式上载spyder导出。您真的使用
genfromtxt
读取它吗?所有代码看起来都像是您只使用了
pandas