可以說我有一個數據幀df
作爲從Pandas中的字符串中提取int?
A B
1 V2
3 W42
1 S03
2 T02
3 U71
我想有一個新的列(無論是在它的df
年底或用它代替列B
,因爲它並不重要),僅提取來自列B
的int。這是我想列C
看起來像
C
2
42
3
2
71
所以,如果有在號碼前面,如03 0,那麼我想回到3不是03
我該怎麼做?
可以說我有一個數據幀df
作爲從Pandas中的字符串中提取int?
A B
1 V2
3 W42
1 S03
2 T02
3 U71
我想有一個新的列(無論是在它的df
年底或用它代替列B
,因爲它並不重要),僅提取來自列B
的int。這是我想列C
看起來像
C
2
42
3
2
71
所以,如果有在號碼前面,如03 0,那麼我想回到3不是03
我該怎麼做?
您可以轉換爲字符串並使用正則表達式提取整數。
df['B'].str.extract('(\d+)').astype(int)
假設總有隻有一個首字母
df['B'] = df['B'].str[1:].astype(int)
我寫了一個小環要做到這一點,因爲我沒有我的琴絃的數據幀,但在列表中。這樣一來,你也可以加少許的if語句佔花車:
output= ''
input = 'whatever.007'
for letter in input :
try :
int(letter)
output += letter
except ValueError :
pass
if letter == '.' :
output += letter
輸出=浮動(輸出)
,或者你可以INT(輸出)如果你喜歡。