我對Python很陌生,我試圖使用Pandas(在iPython Notebook,Python 3中)來組合三列。這是原始數據:使用for循環連接Pandas中的列
RegistrationID FirstName MiddleInitial LastName
1 John P Smith
2 Bill Missing Jones
3 Paul H Henry
我想有:
RegistrationID FirstName MiddleInitial LastName FullName 1 John P Smith Smith, John, P 2 Bill Missing Jones Jones, Bill 3 Paul H Henry Henry, Paul, H
我敢肯定,這絕對不是這樣做的正確的方式,但是這是我如何在for循環中設置它。不幸的是,它只是繼續前進,永遠不會結束。
%matplotlib inline
import pandas as pd
from IPython.core.display import HTML
css = open('style-table.css').read() + open('style-notebook.css').read()
HTML('<style>{}</style>'.format(css))
reg = pd.DataFrame.from_csv('regcontact.csv', index_col=RegistrationID)
for item, frame in regcombo['MiddleInitial'].iteritems():
while frame == 'Missing':
reg['FullName'] = reg.LastName.map(str) + ", " + reg.FirstName
else: break
的想法是再添加另一列對於那些全名(即包括MiddleInitial):
for item, frame in regcombo['MiddleInitial'].iteritems():
while frame != 'Missing':
reg['FullName1'] = reg.LastName.map(str) + ", " + reg.FirstName + ", " + reg.MiddleInitial
else: break
然後將它們組合起來,以便有沒有空值。我到處尋找,但我無法弄清楚。任何幫助將不勝感激,如果我違反了任何約定,我會提前道歉,因爲這是我的第一篇文章。
非常感謝評論「失蹤」的東西 - 沒有注意到在問題中。 –
這很有幫助。謝謝! – Steven
嗨那裏 - 如果我想檢查列中的特定值,然後返回另一列中的預定義字符串(即,而不是數組中的值),這是行不通的,對嗎?在這種情況下,我需要恢復到像我的原始示例一樣的循環? – Steven