Bütün sabah burada bulundum ve yavaşça parçalanmış şeyleri bir araya getirdim. Ama hayatım boyunca, Pandalarda .str.startswith() işlevinin nasıl kullanılacağını anlayamıyorum. boşluk ve bu tür, o zaman ben 'ile başlayan herhangi bir satır silmek istediğiniz olmayacak şekilde Yani başlık temizlik, veri çerçevesi olarak ithal ediyorumPanda'larda 'x' ile başlayan satırları nasıl silebilirim veya 'x' ile başlayan satırları devam ettiriyorum
1 Name, Registration Date, Phone number
2 John Doe, 2015-11-20T19:54:45Z, 1.1112223333
3 Jane Doe, 2015-11-20T20:44:26Z, 65.1112223333
etc...
şöyle
Benim XLSX tablo olduğunu 1.' (veya '1.' ile başlayan satırları tutun) ve diğerlerini silin. Yani bu kısa örnekte, telefon numarası '65 ile başladığı için 'Jane Doe' girişinin tamamını silin.
import pandas as pd
df = pd.read_excel('testingpanda.xlsx', sheetname = 'Export 1')
def colHeaderCleaner():
cols = df.columns
cols = cols.map(lambda x: x.replace(' ', '_') if isinstance(x, (str, unicode)) else x)
df.columns = cols
df.columns = [x.lower() for x in df.columns]
colHeaderCleaner()
#by default it sets the values in 'registrant_phone' as float64, so this is fixing that...
df['registrant_phone'] = df['registrant_phone'].astype('object')
Ben aldık en yakın ve bu kadar ben rahatsız edici tracebacks ve diğer hatasız yürütmek mümkün olmuştur sadece çizgidir demek:
df['registrant_phone'] = df['registrant_phone'].str.startswith('1')
Ama yaptığı tüm telefon dönüştürmek olduğunu aşağıda gösterildiği gibi 'NaN' değerler, bu satırların tüm ve her şeyi korur:
print df
[output] name, registration_date, phone_number
[output] John Doe, 2015-11-20T19:54:45Z, NaN
[output] Jane Doe, 2015-11-20T20:44:26Z, NaN
Ben araştırdım kadar çok fazla yer bile listeye denemek için, ben df.drop farklı versiyonlarını denedim ve sadece bir şey anlamaya çalışmıyor. Buradan nereye giderim?
Eğer 'istediğiniz df = df: Bir sütunda
'c'
ile DataFramedf
varsa ve herhangi bir durumda,1
ile başlayan öğeleri kaldırmak istiyoruz, o zaman güvenli yolu gibi bir şey kullanmak olacaktır .loc [df ['registrant_phone']. str.startswith ('1')] ' – EdChum