在尝试对pandas数据框中的数据进行切片时遇到问题。我有一个数据框,其大小为6列和22000多行。 我想使用以下代码行将其切成一点数据框:
logs = pd.DataFrame(list(storLogs.find({"idPlc": ObjectId("5c5ae7187910e20087489296")})))
y1 = logs.loc[logs['idType'] == '5c6c189d319f83008487ba3a']
此ID在数据框中存在多行,但是当我执行代码时,它返回一个空的数据框。
这是我使用logs.head()返回的内容
__v _id createdAt \
0 0 5c6fbbd5bf8272006ce0c8d1 2019-02-22 09:07:33
1 0 5c6fbbd5bf8272006ce0c8d2 2019-02-22 09:07:33
2 0 5c6fbbd5bf8272006ce0c8d3 2019-02-22 09:07:33
3 0 5c6fbc11bf8272006ce0c8e3 2019-02-22 09:08:33
4 0 5c6fbc11bf8272006ce0c8e4 2019-02-22 09:08:33
idPlc idType value
0 5c5ae7187910e20087489296 5c6c189d319f83008487ba3a 29378
1 5c5ae7187910e20087489296 5c6fbb33319f83008487ba3b 17294
2 5c5ae7187910e20087489296 5c6fbb3a319f83008487ba3c 10012
3 5c5ae7187910e20087489296 5c6c189d319f83008487ba3a 29378
4 5c5ae7187910e20087489296 5c6fbb33319f83008487ba3b 17294
答案 0 :(得分:0)
其他可能的解决方案之一是使用df.query
,您可以
还指定选择行的条件,例如:
logs.query("idType == '5c6c189d319f83008487ba3a'")
支持此概念的一个因素是,特别是对于大型DataFrame, query 是一个非常有效的解决方案。