Введение в науку о данных в проблеме Python - PullRequest
0 голосов
/ 05 декабря 2018

Может ли кто-нибудь сказать, что именно делает эта часть (town = thisLine [: thisLine.index ('(') - 1])?

def get_list_of_university_towns():
'''Returns a DataFrame of towns and the states they are in from the 
university_towns.txt list. The format of the DataFrame should be:
DataFrame( [ ["Michigan", "Ann Arbor"], ["Michigan", "Yipsilanti"] ], 
columns=["State", "RegionName"]  )

The following cleaning needs to be done:
1. For "State", removing characters from "[" to the end.
2. For "RegionName", when applicable, removing every character from " (" to the end.
3. Depending on how you read the data, you may need to remove newline character '\n'. '''

data = []
state = None
state_towns = []
with open('university_towns.txt') as file:
    for line in file:
        thisLine = line[:-1]
        if thisLine[-6:] == '[edit]':
            state = thisLine[:-6]
            continue
        if '(' in line:
            town = thisLine[:thisLine.index('(')-1]
            state_towns.append([state,town])
        else:
            town = thisLine
            state_towns.append([state,town])
        data.append(thisLine)
df = pd.DataFrame(state_towns,columns = ['State','RegionName'])
return df

get_list_of_university_towns ()

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Эта строка выполняет часть требования 2 списка очищенных вещей:

Например: если строка:

line = "Michigan, (Ann Arbor"

, тогда ваш код выведет Michigan,

0 голосов
/ 05 декабря 2018

Он выполняет этот шаг:

2. For "RegionName", when applicable, removing every character from " (" to the end.

Индекс -1 означает конец массива или списка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...