Python 3.x 将对象转换为Int类型
您好,我有一个问题,要将对象的列转换为完整列的整数 我有一个数据帧,我试图将一些被检测为Object的列转换为Integer(或Float),但我已经找到的所有答案都适用于我:( 然后我尝试应用到数值方法,但不起作用。 然后,您可以在此处找到一个自定义方法: 但也不起作用:Python 3.x 将对象转换为Int类型,python-3.x,pandas,Python 3.x,Pandas,您好,我有一个问题,要将对象的列转换为完整列的整数 我有一个数据帧,我试图将一些被检测为Object的列转换为Integer(或Float),但我已经找到的所有答案都适用于我:( 然后我尝试应用到数值方法,但不起作用。 然后,您可以在此处找到一个自定义方法: 但也不起作用:data3['Title'].astype(str).astype(int) (很抱歉,我无法再传递图像-您必须相信我,它不起作用) 我尝试使用inplace语句,但似乎没有集成到这些方法中: 我很确定答案是愚蠢的,但却找
data3['Title'].astype(str).astype(int)
(很抱歉,我无法再传递图像-您必须相信我,它不起作用)
我尝试使用inplace语句,但似乎没有集成到这些方法中:
我很确定答案是愚蠢的,但却找不到:(
有人能帮我吗
谢谢您需要重新分配输出:
#maybe also works omit astype(str)
data3['Title'] = data3['Title'].astype(str).astype(int)
或:
样本:
data3 = pd.DataFrame({'Title':['15','12','10']})
print (data3)
Title
0 15
1 12
2 10
print (data3.dtypes)
Title object
dtype: object
你也可以试试这个代码,和我一起工作
data3.Title= pd.factorize(data3.Title)[0]
2年11个月后,但我走了 首先检查数据是否有空格、特殊字符(如逗号、点或其他任何字符)很重要。如果有,则基本上需要删除这些字符,然后将字符串数据转换为浮点,然后再转换为整数(对于我的数据是数值,但有逗号,如4118662的情况,这对我很有效)
正如python爱好者所说 这个命令对我也有效
data3.Title = data3.Title.str.replace(',', '').astype(float).astype(int)
但也适用于
data3.Title = data3.Title.str.replace(',', '').astype(int)
在替换之前必须先使用str,以便去掉逗号,然后再将其更改为int/float,否则会出现错误。我有一个这样的数据集
dataset.info()
现在,
INT64索引:79868个条目,0到79901
数据列(共6列):
#列非空计数数据类型
--- ------ -------------- -----
0查询79868非空对象
1视频标题79868非空对象
2视频ID 79868非空对象
3个视频视图79868非空int64
4注释ID 79868非空对象
5.79868非空对象
数据类型:int64(1),对象(5)
内存使用率:6.1+MB
问题已解决您需要自行分配,例如,
data3['Title']=pd.to_numeric(data3['Title'])
或data3['Title']data3['Title'])。aType(int)
确实应该有一个规范问题,因为此变体出现了无数次
data3.Title= pd.factorize(data3.Title)[0]
data3.Title = data3.Title.str.replace(',', '').astype(flaoat).astype(int)
data3.Title = data3.Title.str.replace(',', '').astype(float).astype(int)
data3.Title = data3.Title.str.replace(',', '').astype(int)
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 79902 entries, 0 to 79901
Data columns (total 6 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Query 79902 non-null object
1 Video Title 79902 non-null object
2 Video ID 79902 non-null object
3 Video Views 79902 non-null object
4 Comment ID 79902 non-null object
5 cleaned_comments 79902 non-null object
dtypes: object(6)
memory usage: 5.5+ MB
dataset = dataset.replace(to_replace='None', value=np.nan).dropna()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 79868 entries, 0 to 79901
Data columns (total 6 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Query 79868 non-null object
1 Video Title 79868 non-null object
2 Video ID 79868 non-null object
3 Video Views 79868 non-null object
4 Comment ID 79868 non-null object
5 cleaned_comments 79868 non-null object
dtypes: object(6)
memory usage: 6.1+ MB
dataset['Video Views'] = pd.to_numeric(dataset['Video Views'])
dataset['Video Views'] = dataset['Video Views'].astype(int)
<class 'pandas.core.frame.DataFrame'>
Int64Index: 79868 entries, 0 to 79901
Data columns (total 6 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Query 79868 non-null object
1 Video Title 79868 non-null object
2 Video ID 79868 non-null object
3 Video Views 79868 non-null int64
4 Comment ID 79868 non-null object
5 cleaned_comments 79868 non-null object
dtypes: int64(1), object(5)
memory usage: 6.1+ MB