如何将一片数据帧转换为新的数据帧
How to transform a slice of dataframe into a new data frame
我是 python 的新手,有时我对某些操作感到困惑
我有一个名为 ro
的数据框,我还使用特定列 PN 3D
为特定值 921
过滤了该数据框,并将结果分配到一个名为 headlamp
的新数据框中] 通过使用以下代码:
headlamp = ro[ro['PN 3D']=="921"]
我的头灯也是 dataframe 还是只是 slice?
我问这个的原因是因为我的脚本稍后收到一些奇怪的警告和结果。
例如,我创建了一个名为 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']
的最后一行是空的。
有谁知道问题出在哪里以及如何解决?
任何帮助将不胜感激
使用.loc
headlamp = ro.loc[ro['PN 3D']=="921"]
至于剩下的和你的评论……我很困惑。但这是我最好的猜测
设置
import pandas as pd
from string import ascii_lowercase
chars = ascii_lowercase + ' '
probs = [0.03] * 26 + [.22]
headlamp = pd.DataFrame(np.random.choice(list(chars), (10, 100), p=probs)).sum(1).to_frame('comment')
headlamp
headlamp['word'] = headlamp.comment.str.split().apply(lambda x: pd.value_counts(x).to_dict())
headlamp
我是 python 的新手,有时我对某些操作感到困惑
我有一个名为 ro
的数据框,我还使用特定列 PN 3D
为特定值 921
过滤了该数据框,并将结果分配到一个名为 headlamp
的新数据框中] 通过使用以下代码:
headlamp = ro[ro['PN 3D']=="921"]
我的头灯也是 dataframe 还是只是 slice? 我问这个的原因是因为我的脚本稍后收到一些奇怪的警告和结果。
例如,我创建了一个名为 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']
的最后一行是空的。
有谁知道问题出在哪里以及如何解决?
任何帮助将不胜感激
使用.loc
headlamp = ro.loc[ro['PN 3D']=="921"]
至于剩下的和你的评论……我很困惑。但这是我最好的猜测
设置
import pandas as pd
from string import ascii_lowercase
chars = ascii_lowercase + ' '
probs = [0.03] * 26 + [.22]
headlamp = pd.DataFrame(np.random.choice(list(chars), (10, 100), p=probs)).sum(1).to_frame('comment')
headlamp
headlamp['word'] = headlamp.comment.str.split().apply(lambda x: pd.value_counts(x).to_dict())
headlamp