读进来数字是什么类型,改成int类型试试
1) 通过二维数组直接创建Dataframe,得到一样形状的结果数据,如果不指定index和columns,两者均返回默认数字格式
2) index和colunms指定长度与原数组保持一致
ar = np.random.rand(9).reshape(3,3)
print(ar)
df1 = pd.DataFrame(ar)
print(df1)
–> 输出的结果为:(不指定index和columns)
[[0.65868808 0.33375653 0.39760116]
[0.6693393 0.84839768 0.35256847]
[0.8817482 0.26198774 0.80020949]]
0 1 2
0 0.658688 0.333757 0.397601
1 0.669339 0.848398 0.352568
2 0.881748 0.261988 0.800209
指定index和columns下创建数据
df2 = pd.DataFrame(ar, index = ['a', 'b', 'c'], columns = ['one','two','three'])
print(df2)
–> 输出的结果为:
one two three
a 0.658688 0.333757 0.397601
b 0.669339 0.848398 0.352568
c 0.881748 0.261988 0.800209
针对排序的问题,可能具体原因需要看代码和数据,但通常出现这种情况是由于没有理解DataFrame的排序规则。对于DataFrame,排序操作默认是以行为单位进行的,如果想要按照某一列排序,需要使用sort_values()函数,并传递参数by。以下是一些可能的解决方案:
df_sorted = df.sort_values() #或者df.sort_values(axis=0)
df_sorted = df.sort_values(by='column_name', ascending=False)
df_sorted = df.sort_values(by=['column_1', 'column_2'])
df_partial_sorted = df.iloc[:10].sort_values(by='column_name')
以上仅是一些可能的解决方案,具体实现方式需要结合实际情况进行调整。