我有一個任務是根據用於創建所述DataFrame的文件在我的DataFrame中創建一個列。我可以用下面的代碼來解決這個問題,但我認爲有更好的方法。我敢肯定,我可以跳過創建列並將其設置爲零的步驟:dfp['F'] = 0
,並可能使功能更清潔。使用函數優化設置Pandas列
你會如何優化此代碼?:
import pandas as pd
import numpy as np
dfp = pd.DataFrame({'A' : [np.NaN,np.NaN,3,4,5,5,3,1,5,np.NaN],
'B' : [1,0,3,5,0,0,np.NaN,9,0,0],
'C' : ['AA1233445','A9875', 'rmacy','Idaho Rx','Ab123455','TV192837','RX','Ohio Drugs','RX12345','USA Pharma'],
'D' : [123456,123456,1234567,12345678,12345,12345,12345678,123456789,1234567,np.NaN],
'E' : ['Assign','Unassign','Assign','Ugly','Appreciate','Undo','Assign','Unicycle','Assign','Unicorn',]})
print(dfp)
file2 = r'desktop\somefolder\foo.txt'
def filename():
if 'foo' in file2.lower():
return 'foo'
elif 'bar' in file2.lower():
return 'bar'
dfp['F'] = 0
dfp['F'] = dfp['F'] = filename()
print(dfp)
PS:我通常pd.read_excel()
的功能,因此使用的文件名讀取數據幀。同樣使用熊貓版本0.19.2
這可能是更適合StackExchange的代碼審查的社區。 –