我正在尝试使用以下代码在Pandas中使用sort函数对CSV文件中的数据进行排序。我原始文件中有229行。但排序的输出是245行,因为字段中的某些数据是在下一行中打印的,而某些行没有任何值。
sample=pd.read_csv("sample.csv" , encoding='latin-1', skipinitialspace=True)
sample_sorted = sample.sort_values(by = ['rating'])
sample_sorted.to_csv("sample_sorted.csv")
我认为,出现这个问题是因为在某些单元格中,数据是通过生成新行来输入的。例如,这是原始文件中单元格的内容。当我对原始文件进行排序时,第二行打印在一个新行中,并且在第一行和第二行之间留空3行。
"Side effects are way to extreme.
E-mail me if you have experianced the same things."
有什么建议吗?谢谢!
答案 0 :(得分:2)
您可以尝试删除问题列中的换行符。
sample=pd.read_csv("sample.csv" , encoding='latin-1', skipinitialspace=True)
sample["problem_column"] = (sample["problem_column"].
apply(lambda x: " ".join([word for word in x.split()])
)
并查看是否有帮助。如果没有可重复的样本,很难理解为什么会发生这种情况。