concat之后对大熊猫进行排序和重新索引

时间:2018-07-13 08:11:18

标签: python pandas

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

1。合并两个数据。

2.sort数据。

3.reindex。

我的样本数据集如下。

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)

result

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您可以尝试以下方法:

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)