2017-08-26 8 views
0

dtypeオブジェクトを持つデータセットに実際には整数の列があります。どのように私はintに変換し、その列のカウントを取るのですか?pandasでオブジェクトをintからintに変換してカウントする

A B 
1 2,3,45 
2 3,76,455,4 
3 2,22,67,78,2 

ここでの問題は、このB列がDTYPE =私はBのカウントが何であるかを知ってもらうことができるようにint型に変換する必要が目的としているということでしょうか?

B.astype(str).astype(int) 

が、それは私にエラー与える:私が使用してしようとした "とValueError: '2,3,45':ベース10とint型のため、無効なリテラルを()"。誰かが私にこれを解決する方法を教えてもらえますか?

+0

はい、それは私もカウントの新しい列Cを追加できるということができますすることができます。 – Sahil

答えて

1

Bは文字列のままにしておき、コンマを,と数えてカウントできます。

In [118]: df.assign(C=df.B.str.count(',').add(1)) 
Out[118]: 
    A    B C 
0 1  2,3,45 3 
1 2 3,76,455,4 4 
2 3 2,22,67,78,2 5 
-1

regexp文字列を使用するとカウントできます。

df.B.str.count('\w+') 
0

それとも、ただ

df.B.apply(lambda x :len(x.split(','))) 

Out[117]: 
0 3 
1 4 
2 5 
Name: B, dtype: int64 
関連する問題