如何有效获取DataFrame的前x%?

时间:2018-05-31 14:25:52

标签: python pandas

假设我有一个包含1000行的DataFrame。如果我希望创建一系列仅前5%(或前50行),那么在百分比方面这样做的最佳方法是什么? (我不想简单地做df.head(50)) 我希望代码能够适应我想改变x说20%或30%。

2 个答案:

答案 0 :(得分:2)

这应该有效:

your_percenteage = 5 #or 20, 30 etc
df = df.iloc[:round(len(df)/100*your_percentage)]

答案 1 :(得分:2)

您需要做的就是在致电.head()

之前计算百分比

示例:

percenteage = 20
rows_to_keep = round(percenteage / 100 * len(df))
df = df.head(rows_to_keep)