どのように私はパンダのデータフレーム内のサブストリングを小文字ことができますか?

ギリェルメ・レイス:

私はこの1つのようなパンダのデータフレームを持っています

String = ["".join(np.random.choice(list("PQRSTUVXYZ"), size=7)) for _ in range(7)]
Position = np.random.randint(2,7, size = 7)
df=pd.DataFrame((String,Position)).T

私は、インデックスが列位置である手紙の中で下()関数を適用したいと思います。

私はもう試した:

df = df[0][df[1]].str.lower()

しかし、それは文字列全体を下げています。

ご協力いただきありがとうございます!

anky_91:

ここで、リスト内包表記であるsliceslice_replace

df['new'] = ([df[0].str.slice_replace(
             i,i+1,df[0].str.slice(i,i+1).iloc[e].lower()).iloc[e] 
             for e,i in enumerate(df[1])])

         0  1      new
0  TZPVTRT  2  TZpVTRT
1  VSSXYUP  3  VSSxYUP
2  YUTXTQS  2  YUtXTQS
3  SZRURSU  5  SZRURsU
4  XRXQVUP  3  XRXqVUP
5  PSQZZVV  6  PSQZZVv
6  XYYXPYV  3  XYYxPYV

ノートでは、あなたのインデックスは1から始まり、0でない、交換した場合df[0].str.slice(i,i+1)df[0].str.slice(i-1,i)

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=364685&siteId=1
おすすめ