Мне нужно было бы управлять фреймом данных, добавляя больше столбцов. Моя выборка заголовков данных:
`Date` `Sentence`
28 Jan who.c
30 Jan house.a
02 Feb eurolet.it
Мне нужно добавить еще один столбец, Tp
, для которого каждой ссылке присваивается значение:
- , если предложение заканчивается на
a
затем присваивают apartment
; если оно заканчивается на b
, тогда присвойте bungalow
и т. д., как показано в original
; , если предложение заканчивается на UK
, тогда присвойте United Kingdom
; если он заканчивается на IT
, тогда присваивайте Italy
и так далее. Значения от country
. Я бы ожидал что-то вроде этого:
Дата Приговор Tp 28 января, кто. c церковь 30 января house.a квартира 02 февраля eurolet.it. Италия
Я написал следующее:
conditions = [df['Sentence'].str.endswith(original), df['Sentence'].str.endswith(country)]
choices = [original, country]
# df['Tp'] = df.apply(lambda row: urlparse(row['Sentence']).netloc, axis = 1)
df['Tp'] = np.select(conditions, choices, default ='Unknown')
print(df)
, где
original= [('a', 'apartment'), ('b', 'bungalow'), ('c', 'church')]
и
country = [('UK', 'United Kingdom'), ('IT', 'Italy'), ('DE', 'Germany'), ('H', 'Holland'), ..., ('F', 'France'), ('S', 'Spain')]
country
содержит более 50 элементов.
Не могли бы вы подсказать, как это исправить? Столбец должен быть добавлен во фрейм данных, затем в CSV-файл.
Спасибо
Обновление:
Sentences \
0
1 who.c
2 citta.me.it
3 office.of
4 eurolet.eu
.. ...
995 uilpa.ie
996 fog.de
Original and country are from
list_country=np.array(country).tolist()
list_country_name=np.array(country_name).tolist()
flat_name_country = [item for sublist in list_country for item in sublist]
flat_country_name = [item for sublist in list_country_name for item in sublist]
zip_domains=list(zip(flat_name_country, flat_country_name))