2016-11-28 4 views
1

Top15.head()は、私がデータフレームの列に私の文字列に数千人を示すために、カンマ区切り文字を追加しようとしているパンダ

でデータフレームの列内の文字列にカンマ区切り文字を追加します。誰かが形式を助けることができますか?私は、あなたが探していることはこれです

Top15['PopEst'] = re.sub("(\d)(?=(\d{3})+(?!\d))", r"\1,", "%d" % Top15['PopEst']) 
+1

、http://stackoverflow.com/a/11562205/3832970 –

+0

私はもともとそこからコードを得ました。私はデータフレームの行全体に対してこれを行う方法を理解していません。 –

+0

df ['column_name']。apply()メソッドを使用してください。 – MYGz

答えて

2

は私が考えるデータフレームで列全体にこれを行う方法を理解していない:

Top15["PopEst"] = Top15["PopEst"].map(lambda x: "{:,}".format(x)) 

"{:,}".format()は、単一のための千個の区切り文字として動作しますstring/float/intですので、map()を使用して、列の各要素に適用できます。

0

これはあなたに役立つと思います。

FYI
v= format(12345678, ',d') 
print(v) 
//12,345,678 
0
Top15['PopEst']=(Top15['Energy Supply']/Top15['Energy Supply per Capita']) 
df = Top15[['PopEst']] 
df = df.reset_index() 

i=0 
while(len(df)>i): 
    v =str(df.iloc[i]['PopEst']).split('.') 

    strr = str(format(int(v[0]), ',d'))+"."+v[1] 

    df.iloc[i] = df.iloc[i].replace(df.iloc[i]['PopEst'],strr) 

    i = i+1 

df.set_index(['Country Name'], inplace=True) 
関連する問題