我一直在尋找一段時間,但我似乎無法找到這個小問題的答案。
我有這個代碼來為小寫值創建一個函式:
df = {'name':['AL', 'EL', 'NAILA', 'DORI', 'KAKAEKA', 'GENTA', 'RUBY'],
'living':['lagoa','sangiang','penjaringan','warakas','jonggol','cikarang', 'cikarang'],
'food':['PIZZA','MEATBALL','CHICKEN','CAKE','CAKE','ONION','NOODLE'],
'sub':['KOTA','KAB','WILAYAH','KAB','DAERAH','KOTA','WILAYAH'],
'job':['Chef','Teacher','Police','Doctor','Students','Programmer','Lecturer'],
'side_job':['Designer','Nurse','Designer','Programmer','Programmer','Teacher','Mentor'],
'status':['Single','Single','Married','Single','Single','Divorced','Married'],
'age':[20,25,20,18,25,40,37]
}
df = pd.DataFrame(df)
def content_consistent(df):
cols = df.select_dtypes(object).columns
df[cols] = df[cols].apply(lambda x: x.str.lower())
return df
df = content_consistent(df)
結果顯示所有值都是小寫的,但我想要的是某些列不是小寫,如“sub”和“status”列
但我實際上期待這個輸出與簡單的代碼不使用回圈
name living food sub job side_job status age
0 al lagoa pizza KOTA chef designer Single 20
1 el sangiang meatball KAB teacher nurse Single 25
2 naila penjaringan chicken WILAYAH police designer Married 20
3 dori warakas cake KAB doctor programmer Single 18
4 kakaeka jonggol cake DAERAH students programmer Single 25
5 genta cikarang onion KOTA programmer teacher Divorced 40
6 ruby cikarang noodle WILAYAH lecturer mentor Married 37
uj5u.com熱心網友回復:
用于Index.difference通過串列排除一些非數字列:
def content_consistent(df):
cols = df.select_dtypes(object).columns.difference(['sub', 'status'])
df[cols] = df[cols].apply(lambda x: x.str.lower())
return df
uj5u.com熱心網友回復:
您可以使用串列理解排除這些列,如下所述
df = pd.DataFrame(df)
def content_consistent(df):
cols = df.select_dtypes(object).columns
cols = [x for x in cols if x not in ['sub', 'status']]
df[cols] = df[cols].apply(lambda x: x.str.lower())
return df
df = content_consistent(df)
uj5u.com熱心網友回復:
選擇除 sub 和 age 之外的列。使它們都降低,然后更新 df
df.update(df.filter(regex='[^subage]', axis=1).apply(lambda x:x.str.lower()))
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/431700.html
上一篇:從列值的總和構建df
