Python ValueError:以10为基数的int()的文本无效:'&引用;0345104X“';熊猫数据帧
我在尝试将列转换为整数格式进行分析时遇到此错误。我甚至试图替换isbn列中的引号和X。即使这样,我也会犯错误Python ValueError:以10为基数的int()的文本无效:'&引用;0345104X“';熊猫数据帧,python,regex,pandas,dataframe,literals,Python,Regex,Pandas,Dataframe,Literals,我在尝试将列转换为整数格式进行分析时遇到此错误。我甚至试图替换isbn列中的引号和X。即使这样,我也会犯错误 ratings["isbn"] = ratings["isbn"].astype(int) 问题是还有许多其他字符串,如X,您可以找到所有ISBN都以X结尾,并且没有数字: ratings_data['isbn'] = ratings_data['isbn'].replace({'"':''}, regex=True) ratings
ratings["isbn"] = ratings["isbn"].astype(int)
问题是还有许多其他字符串,如
X
,您可以找到所有ISBN
都以X
结尾,并且没有数字:
ratings_data['isbn'] = ratings_data['isbn'].replace({'"':''}, regex=True)
ratings_data['isbn'] = ratings_data['isbn'].replace({'X':''}, regex=True)
可能的解决方案是使用X
或数字过滤数据以进行处理:
ratings_data = pd.read_csv('BX-Book-Ratings.csv', sep=';')
# print(ratings_data.head(10))
df = ratings_data[~ratings_data['ISBN'].str.contains(r'^\d+$|^\d+X$')]
print(df)
User-ID ISBN Book-Rating
54 276762 B0000BLD7X 0
55 276762 N3453124715 4
384 276884 B158991965 6
535 276929 2.02.032126.2 0
536 276929 2.264.03602.8 0
... ... ...
1146393 275970 014014904x 0
1147650 276009 01400.77022 0
1147916 276046 08348OO799 10
1148549 276331 \0432534220" 9
1149066 276556 055337849x 10
[3092 rows x 3 columns]
即使这样,我也会收到错误。
-还有另一个错误吗?修复工作顺利吗?我已经从下载了数据。更换工作正常,但使用后仍然存在错误。那么应该如何;d是否被处理'b000bld7'
?@jezrael据我检查,ISBN用X屏蔽,其中数字不可用。我没有得到任何像“B0000BLD7”这样的值。谢谢你的建议。成功了!!
ratings_data = pd.read_csv('BX-Book-Ratings.csv', sep=';')
# print(ratings_data.head(10))
ratings_data = ratings_data[ratings_data['ISBN'].str.contains(r'^\d+$|^\d+X$')]
print(ratings_data)
User-ID ISBN Book-Rating
0 276725 034545104X 0
1 276726 0155061224 5
2 276727 0446520802 0
3 276729 052165615X 3
4 276729 0521795028 6
... ... ...
1149775 276704 1563526298 9
1149776 276706 0679447156 0
1149777 276709 0515107662 10
1149778 276721 0590442449 10
1149779 276723 05162443314 8
[1146688 rows x 3 columns]
ratings_data['ISBN'] = ratings_data['ISBN'].replace({'X':''}, regex=True).astype(np.int64)
print(ratings_data)
User-ID ISBN Book-Rating
0 276725 34545104 0
1 276726 155061224 5
2 276727 446520802 0
3 276729 52165615 3
4 276729 521795028 6
... ... ...
1149775 276704 1563526298 9
1149776 276706 679447156 0
1149777 276709 515107662 10
1149778 276721 590442449 10
1149779 276723 5162443314 8
[1146688 rows x 3 columns]