如何删除熊猫数据框中的错误值?

时间:2020-05-15 05:48:27

标签: python pandas dataframe

我有一个包含多个列的数据框,我有兴趣从其中删除一列,然后用该列创建一个新的数据框。 我的数据框是

category_id category_name   channel_id
24  Entertainment   UCv1ZjbkebUwVOJCgtstOBZQ

我正在创建一个新的数据框,希望其中的category_id可创建1万行。

df1 = pd.DataFrame({'category_id': [df['category_id'] for x in range(10000)]})
df1.head()

这将创建一个具有10k行的数据框,但是我正在该数据框中获取的值 是

category_id
0   178 10 215 10 251 10 312 1...
1   178 10 215 10 251 10 312 1...
2   178 10 215 10 251 10 312 1...
3   178 10 215 10 251 10 312 1...
4   178 10 215 10 251 10 312 1...

这是错误的,因为我想要

之类的值
category_id
0   10
1   10
2   10
3   10
4   10

我通过从df5 = pd.DataFrame({'category_id': df4['category_id'] for x in range(10000)}) df5.head()删除列表理解来对此数据帧进行了更改,它解决了此错误,但是没有创建10k记录。 有什么可以解决的呢?

1 个答案:

答案 0 :(得分:1)

我认为您需要Series.repeat

print (df)
   category_id  category_name                channel_id
0           10  Entertainment  UCv1ZjbkebUwVOJCgtstOBZQ
1           24  Entertainment  UCv1ZjbkebUwVOJCgtstOBZQ

N = 5
df5 = df['category_id'].repeat(N).reset_index(drop=True).to_frame()
print (df5)
   category_id
0           10
1           10
2           10
3           10
4           10
5           24
6           24
7           24
8           24
9           24