ドメイン名を含むデータがあります:
url var1
www.CNN.com xsd
www.Nbc.com wer
www.BBc.com xyz
www.fOX.com zyx
....
データはシリーズタイプです。次を使用して、url変数を小文字に変換しています。
df.apply(lambda x: x.astype(str).str.lower())
ただし、それらは同じままです。
私は何を間違えていますか?
df['url'] = df['url'].str.lower()
シリーズで動作し、小文字のバージョンに置き換える必要があります。
出力を割り当て直す必要があると思います。列apply
でのみ機能する場合は、url
を省略した方が良いでしょう。
df = pd.DataFrame({'url': ['www.CNN.com', 'www.Nbc.com', 'www.BBc.com', 'www.fOX.com'],
'var1': ['XSD', 'wer', 'xyz', 'zyx']})
print (df)
url var1
0 www.CNN.com XSD
1 www.Nbc.com wer
2 www.BBc.com xyz
3 www.fOX.com zyx
#if types of column is str, astype is not necessary
df.url = df.url.astype(str).str.lower()
print (df)
url var1
0 www.cnn.com XSD
1 www.nbc.com wer
2 www.bbc.com xyz
3 www.fox.com zyx
ただし、df
のすべての列をlowercase string
sに変換する必要がある場合:
df = df.astype(str).apply(lambda x: x.str.lower())
print (df)
url var1
0 www.cnn.com xsd
1 www.nbc.com wer
2 www.bbc.com xyz
3 www.fox.com zyx
使用できる単一の列を変換するには、
df.column_name.str.lower()
または
df['column_name'].str.lower()
お役に立てれば !