panda在concat之后进行排序和重新索引



我有两个数据帧。一个是头部分+奇数部分,另一个是id的偶数部分。过程如下。

1.合并两个数据。

2.对数据进行排序。

3.重新索引

我的示例数据集如下。

id  orgName people  repos   crt_at
34716   1176774 zatecusweb  0   0   2011-11-07T01:01:49Z

偶数部分是id的偶数,另一部分是赔率。

但排序并不活跃。它需要reset_index。为什么会发生这种情况?

df1 = pd.read_csv('./Data/orgs_cnt.csv',quotechar='|')
df2 = pd.read_csv('./Data/orgs_cnt2.csv',quotechar='|')
df = pd.concat([df1,df2], ignore_index=True) 
df = df.sort_values('id')
df = df.reindex(np.arange(len(df)))
# df = df.reset_index()
plt.plot(df.id)

结果

也许是sort_values('id', axis=1)?sort_values需要知道如何排序,axis=1表示列。数据样本会很有帮助。

你可以试试这个:

import pandas as pd
import matplotlib.pyplot as plt
df1 = pd.DataFrame({ 'id' : [1, 3, 5,7], 'values' : [79, 56, 44,75]})
df2 = pd.DataFrame({ 'id' : [2, 4, 6,8], 'values' : [69, 75, 78,95]})
listdf = [df1, df2]
data = pd.concat(listdf)
data.sort_values(by='id', inplace=True)
data = data.reset_index(drop=True)
plt.plot(data.index)

最新更新