คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 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)
ขอบคุณครับ