簡體   English   中英

如何在 pandas 中的數字系列中獲取每一行的最后一位數字

[英]How to get the last digit in each row in a number series in pandas

我有一個包含許多數據的數據框。 一列名為“x”(最相關)包含數字,如果滿足條件,我只想獲取最后一個數字然后進行操作。

df = pd.DataFrame({'value':[500, 200, 100],
                   'x':[125, 129, 349]})

   value    x
0    500  125
1    200  129
2    100  349

擁有數據框后,我想檢查值“x”內的最后一位數字是否為 5,如果是,則將“值”列乘以 2,如果不是,則不要執行任何操作。 最終結果應該是:

df2 = pd.DataFrame({'value':[500, 200, 100],
                    'x':[125, 129, 349],
                    'value2':[1000, 200, 100]})

   value    x  value2
0    500  125    1000
1    200  129     200
2    100  349     100

讓我們做一些數學運算:(即如果數字以 5 結尾,那么模除以10將始終產生5

df['value2'] = df['value'].mask(df['x'] % 10 == 5, df['value'] * 2)

   value    x  value2
0    500  125    1000
1    200  129     200
2    100  349     100

要檢查 integer 是否以 5 結尾,我們可以查看它的 mod 10 值,然后使用np.where選擇條件。

df['value2'] = np.where(df.x.mod(10).eq(5), df.value.mul(2), df.value)
print(df)

Output:

   value    x  value2
0    500  125    1000
1    200  129     200
2    100  349     100

暫無
暫無

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

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