Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.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 ValueError:以10为基数的int()的文本无效:'&引用;0345104X“';熊猫数据帧_Python_Regex_Pandas_Dataframe_Literals - Fatal编程技术网

Python ValueError:以10为基数的int()的文本无效:'&引用;0345104X“';熊猫数据帧

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

我在尝试将列转换为整数格式进行分析时遇到此错误。我甚至试图替换isbn列中的引号和X。即使这样,我也会犯错误

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]