คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
==
==
1. method chaining api เป็นสไตล์การเขียน api แบบ functional programming ที่กำลังเป็นที่นิยมครับ
2. สังเกตว่า Series.replace คืนค่าเป็น Series object ใหม่ที่ถูก replace เรียบร้อยแล้ว จึงต่อท้ายด้วย .replace หรือ .astype ได้เลย
sample['Currency'] =
sample['Currency'].replace('[\$,)]','',regex=True)
.replace('[(]','-',regex=True)
.replace('^-$','',regex=True)
.astype(float)
sample['Currency'].replace('[\$,)]','',regex=True)
.replace('[(]','-',regex=True)
.replace('^-$','',regex=True)
.astype(float)
==
sample['Currency'] =
(
(
(
sample['Currency'].replace('[\$,)]','',regex=True)
).replace('[(]','-',regex=True)
).replace('^-$','',regex=True)
).astype(float)
(
(
(
sample['Currency'].replace('[\$,)]','',regex=True)
).replace('[(]','-',regex=True)
).replace('^-$','',regex=True)
).astype(float)
==
temp1 = sample['Currency'].replace( '[\$,)]','', regex=True )
temp2 = temp1.replace( '[(]','-', regex=True )
temp3 = temp2.replace('^-$','',regex=True)
sample['Currency'] = temp3.astype(float)
temp2 = temp1.replace( '[(]','-', regex=True )
temp3 = temp2.replace('^-$','',regex=True)
sample['Currency'] = temp3.astype(float)
1. method chaining api เป็นสไตล์การเขียน api แบบ functional programming ที่กำลังเป็นที่นิยมครับ
2. สังเกตว่า Series.replace คืนค่าเป็น Series object ใหม่ที่ถูก replace เรียบร้อยแล้ว จึงต่อท้ายด้วย .replace หรือ .astype ได้เลย
แสดงความคิดเห็น
python pandas แปลงค่าจากสกุลเงินStr เป้น float
เรียกว่าอะไร
import pandas as pd
sample = pd.DataFrame({'id':['ID1','ID2','ID3','ID4'],'Currency':['$1.00','$2,000.00','(3,000.00)','-0']})
sample.info()
print('-'*80)
# ถามบรรทัดนี้ ว่า pd.Series.replace แบบ เว้นแล้วทิ้งจุดเฉย ๆ แบบ บรรทัด 8,9 เรียกว่าอะไรครับ
sample['Currency'] = (sample['Currency'].replace( '[\$,)]','', regex=True )
.replace( '[(]','-', regex=True )
.replace('^-$','',regex=True).astype(float))
sample.info()
print('-'*80)
print(sample)
ขอบคุณครับ