1
Учитывая этот кадр данных:Используйте string.capwords с пандами колонке
df = pd.DataFrame(
{'A' : ['''And's one''', 'And two', 'and Three'],
'B' : ['A', 'B', 'A']})
df
A B
0 And's one A
1 And two B
2 and Three A
Я пытаюсь заглавной буквы только (без заглавной «с» в «А-х»).
Желаемый результат заключается в следующем:
A B
0 And's One A
1 And Two B
2 And Three A
Беда в том, когда я делаю это:
import string
df['A']=string.capwords(df['A'])
я получаю эту ошибку:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-106-d429a8e7cc45> in <module>()
----> 1 df['A']=string.capwords(df['A'])
C:\Users\zvsy0717\AppData\Local\Continuum\Anaconda3\lib\string.py in capwords(s, sep)
42
43 """
---> 44 return (sep or ' ').join(x.capitalize() for x in s.split(sep))
45
46
C:\Users\zvsy0717\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\core\generic.py in __getattr__(self, name)
2244 return self[name]
2245 raise AttributeError("'%s' object has no attribute '%s'" %
-> 2246 (type(self).__name__, name))
2247
2248 def __setattr__(self, name, value):
AttributeError: 'Series' object has no attribute 'split'
Заранее спасибо !
Спасибо! Что, если бы я имел значение: «MICHIGAN-Ohio», и я хотел, чтобы он сказал «Мичиган-Огайо»? –
Вы можете использовать мой первый ответ, но разделить на '-' и перезаписать, но вам нужно будет замаскировать строки, содержащие первый дефис – EdChum