我是python的新手,有時會遇到一些操作困惑 我有一個數據幀ro
,我也使用特定的列PN 3D
過濾了這個數據幀一個特定的值921
和我分配的結果成使用下面的代碼名爲headlamp
新的數據幀:如何將一片數據幀轉換爲一個新的數據幀
headlamp = ro[ro['PN 3D']=="921"]
請問我的頭燈也是據幀或僅僅是一個片? 我問這個問題的原因是因爲我稍後在腳本中收到了一些奇怪的警告和結果。
如,我創建了一個名爲word
和我分配新列headlamp
headlamp['word'] = ""
我得到以下警告:
A value is trying to be set on a copy of a slice from a DataFrame
後,我用下面的腳本來分配結果到headlamp['word']
i = 0
for row in headlamp['Comment'].astype(list):
headlamp['word'][i] = Counter(str(row).split())
i+=1
print headlamp['word']
同樣的警告出現了,它影響了我的結果,因爲當我使用headlamp.tail()
時,最後一行headlamp['word']
是空的。
有沒有人有一個想法是什麼問題以及如何解決?
任何幫助將高度讚賞
'頭燈= RO [RO [ 'PN 3D'] ==「921 「] .copy()' – MaxU
如果'headlamp'是一個數據框,你應該給一個col指定一個'series'對象這不僅僅是一個空的字符串。像'headlamp ['word'] = pd.Series(...)' –
謝謝你的回覆。我已經使用這個'.copy()',並且我有相同的警告和錯誤@MaxU。關於您的回覆@TammoHeeren,我也爲所有行分配了0個值到列'word',但是在應用腳本後,前燈中的行['Comment']: 'i = 0 headlamp ['word '] [i] =(Counter(str(row).split())) i + = 1 headlamp ['word'] i = 0 for headlamp ['Comment']: headlamp ['word '] [i] =(Counter(str(row))。分開())) i + = 1 print headlamp ['word']' –