我正在从CSV文件中创建一个Pandas数据框:
import pandas as pd
filename = 'mike.csv'
main_df = pd.read_csv(filename)
print(main_df.shape)
的输出为(280, 23)
,因此此数据框中有280行。
但是,当我接下来尝试按列值过滤此数据框时:
filtered_df = main_df.query('Status == "Active"')
print(filtered_df.shape)
,输出od print(filtered_df.shape)
为(0,23)
,因此我没有获得任何行。
列名称或值名称没有错误,如下面print(main_df.loc[:5, "Status"])
的输出:
0 Active
1 Draft
2 Draft
3 Draft
4 Active
5 Active
Name: Status, dtype: object
我该如何解决这个问题?
答案 0 :(得分:1)
正如评论中所讨论的,潜在的问题可能是打印数据时看不到的空白区域。您可以使用.str.strip()
删除它们:
filtered_df = main_df.query('Status == "Active"')
然后
@OneToMany(fetch = FetchType.EAGER, mappedBy = "route")
private List<RouteXCabin> cabinas= new ArrayList<>();
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "fk_id_route")
private Routes route;
应该产生所需的输出。