pythonでISBNを区切る
Q&A
Closed
解決したいこと
Pythonの初歩的な質問です。
書誌データを扱うデータフレームで、書名のほかに'ISBN'という列が入っています。
例えば「退屈なことはPythonにやらせよう」のISBNは
9784873117782
ですが、こういったISBNの数字の前から6桁、後ろから1桁をとりのぞき
311778
といった数字だけを抽出した列を作るには、'ISBN'という列に対してどのようなコードを書けばいいでしょうか。
またISBNの列の型はintからstrに変更する必要はあるでしょうか。
自分で試したこと
split関数など使ってみましたがどうもうまくいきません。
Excelでいうとデータの区切り位置で固定長で切るような作業です。
よろしくお願いします。
<追記>
実際のISBNではありませんがデータフレームを作ってみました。
このISBNの列の数値を任意の区切り位置で切り離したいというのが趣旨です。
import pandas as pd
import numpy as np
np.random.seed(seed=1)
val = np.random.randint(0,1000000000000, size=16).reshape(4,4)
df = pd.DataFrame(val, index=['e','f', 'g', 'h'],
columns=['a', 'b', 'ISBN', 'd'])
df