簡體   English   中英

如何在 pandas dataframe 中制作切片?

[英]How to made a slice in a pandas dataframe?

我想使用列中的字符串“PP”對 dataframe 進行切片,並僅獲取字符串之后的數字:

Dataframe:

data = {'Serie':['28PP3097', '23228PP3097', '1822343218PP3097', '43642183097'],
    'FooBar':["foo", "bar", "foo", "bar"]}
df = pd.DataFrame(data)

在此處輸入圖像描述

預期結果:

在此處輸入圖像描述

我嘗試:

df["Serie"] = np.where(df["Serie"].str.contains("PP"), df["Serie"][df["Serie"].str.find('PP')+1:],df["Serie"])

在這個 df 中,但它給了我一個錯誤“無法使用這些索引器對 RangeIndex 進行切片索引”

您可以通過拆分並獲取“PP”之后的最后一項來做到這一點:

data = {'Serie':['28PP3097', '23228PP3097', '1822343218PP3097', '43642183097'],
        'FooBar':["foo", "bar", "foo", "bar"]}
df = pd.DataFrame(data)

df['Serie']=[i.split('PP')[-1] for i in df['Serie']]

結果

         Serie FooBar
0         3097    foo
1         3097    bar
2         3097    foo
3  43642183097    bar

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM