簡體   English   中英

根據pandas數據框中的另一列獲取子字符串

[英]Getting substring based on another column in a pandas dataframe

您有沒有辦法根據另一列獲取列的子字符串?

import pandas as pd
x = pd.DataFrame({'name':['bernard','brenden','bern'],'digit':[2,3,3]})
x

     digit  name
0   2   bernard
1   3   brenden
2   3   bern

我期望的是:

for row in x.itertuples():
    print row[2][:row[1]]

be
bre
ber

其中結果是基於數字的名稱子字符串。

我知道如果我真的想要我可以創建一個基於itertuples函數的列表,但似乎不對,而且,我總是嘗試創建一個矢量化方法。

感謝任何反饋。

使用apply axis=1 for row-wise with lambda以便訪問每列進行切片:

In [68]:
x = pd.DataFrame({'name':['bernard','brenden','bern'],'digit':[2,3,3]})
x.apply(lambda x: x['name'][:x['digit']], axis=1)

Out[68]:
0     be
1    bre
2    ber
dtype: object

暫無
暫無

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

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