#python #pandas
Вопрос:
У меня есть набор данных, как показано ниже:
campaign_name,campaign_team
edbol97,other
abc_de_dg,other
de_air,other
Из этого я должен выбрать campaign_name
, где содержатся записи "_"
. Теперь я хочу разделить подчеркивание, содержащее записи, на слова. Я смог это сделать, но я хочу получить результат, как показано ниже:
Ниже приведен мой код:
splittedString = list()
campaign_name = list()
df = pandas.DataFrame()
for i in underscoreList:
campaign_name.append(i)
splittedString.append(i.split("_"))
#a_dict= {"campaign_name":campaign_name,"campaign_name1":splittedString}
df["campaign_name"]=campaign_name
df["campaign_name1"]=splittedString
print(splittedString)
print(campaign_name)
print(df)
Однако это приводит меня к следующей ошибке:
File "/home/siddhesh/Downloads/pyspark/src/sample/exact_match.py", line 38, in <module>
df["campaign_name"]=campaign_name
File "/home/siddhesh/Downloads/pyspark/venv/lib/python3.8/site-packages/pandas/core/frame.py", line 3607, in __setitem__
self._set_item(key, value)
File "/home/siddhesh/Downloads/pyspark/venv/lib/python3.8/site-packages/pandas/core/frame.py", line 3779, in _set_item
value = self._sanitize_column(value)
File "/home/siddhesh/Downloads/pyspark/venv/lib/python3.8/site-packages/pandas/core/frame.py", line 4504, in _sanitize_column
com.require_length_match(value, self.index)
File "/home/siddhesh/Downloads/pyspark/venv/lib/python3.8/site-packages/pandas/core/common.py", line 531, in require_length_match
raise ValueError(
ValueError: Length of values (2) does not match the length of index (1)
Я новичок в Питоне и пандах. Как я могу устранить эту ошибку?
Ответ №1:
Вы можете использовать .explode() для этого:
df['campaign_name1'] = df['campaign_name'].str.split('_')
df.explode('campaign_name1')
Комментарии:
1. @RushHour Рад, что смог помочь. Счастливого Кодирования!