前提・実現したいこと
1.DataFrameにおいて文字列の操作方法を知りたい。
2.DataFrameとSeriesの違いを理解したい。
発生している問題・エラーメッセージ
下記ソースコードにおいて、print(lists1)は正常に動作し、['111', '222', '333']と返ってきますが、print(lists2)は、「AttributeError: 'int' object has no attribute 'replace'」とエラーが表示されます。
該当のソースコード
import pandas
lists1 = pandas.Series(['/111/', '/222/', '/333/'])
lists1 = [i.replace('/', '') for i in lists1]
print(lists1)
lists2 = pandas.DataFrame(['/111/', '/222/', '/333/'])
lists2 = [i.replace('/', '') for i in lists2]
print(lists2)
試したこと
Seriesは一次元、DataFrameは二次元のデータ構造だという説明を見かけました。
lists1 = pandas.Series(['/111/', '/222/', '/333/'])
lists2 = pandas.DataFrame(['/111/', '/222/', '/333/'])
この二つをprintしてを見比べてみると、lists1には列名はつきませんが、lists2は、列名「0」がつくことまでは確認できました。ただ、全1列のデータとして見たときに、この二つがどう違うのかがよく理解できておりません。またなぜ、エラーが「'int' object」なのかもピンときておりません。
ストレートに知りたいことは、DataFrame(['/111/', '/222/', '/333/']で、スラッシュを削除する方法です。加えて、SeriesとDataFrameの理解につながるようなアドバイスをいただければ幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/05 14:42