我正在尝试基于列值访问某些行。我读了一个CSV
df = pd.read_csv("edges.txt", dtype=str)
将创建以下数据帧:
TripId MatchId StartHour Source Destination
0 20120401017000 0 7 28819367 52408159
1 20120401017000 0 7 52408159 62804102
2 20120401017000 0 7 62804102 65398897
3 20120401017000 0 7 65398897 65398897
4 20120401017000 0 7 74066894 77482478
... ... ... ... ... ...
62014 20120430097008 1 18 78141321 88912706
62015 20120430097008 1 18 88912706 218287467
62016 20120430097008 1 18 218287467 236637429
62017 20120430097008 1 18 236637429 245325123
62018 20120430097008 1 18 245325123 245374827
当我使用特定的ID访问旅行时,它可以正常工作:
df.loc[df["TripId"] == "20120401017000"]
TripId MatchId StartHour Source Destination
0 20120401017000 0 7 28819367 52408159
1 20120401017000 0 7 52408159 62804102
2 20120401017000 0 7 62804102 65398897
3 20120401017000 0 7 65398897 74066894
4 20120401017000 0 7 74066894 77482478
... ... ... ... ... ...
86 20120401017000 2 7 330994406 484314696
87 20120401017000 2 7 484314696 502572843
88 20120401017000 2 7 502572843 758286629
89 20120401017000 2 7 758286629 791164312
90 20120401017000 2 7 791164312 974728472
但是,当我尝试访问具有特定MatchId
的行时,它返回一个空的数据帧:
df.loc[df["MatchId"] == "2"]
TripId MatchId StartHour Source Destination
除TripId
之外的每一列都相同:
df.loc[df["Source"] == "283782532"]
TripId MatchId StartHour Source Destination
我对此有点困惑TripId
不是一个索引,它看起来也没有什么特别之处。我确保每个值都是一个字符串:
df.dtypes
TripId object
MatchId object
StartHour object
Source object
Destination object
dtype: object
我有点困惑为什么除了TripId
之外的每一列都返回一个空的数据帧TripId
不是一个索引,它看起来也没有什么特别之处。
如何访问除TripId
以外的列具有特定值的行
谢谢你
原则上,您的命令应该和df[“TripId”]一样工作。是否检查前导/尾随空格
相关问题 更多 >
编程相关推荐