Jes*_*sse 6 python dataframe pandas
在 python 中,我有一些结构如下的数据框:
0 0 0 0
1 1 1 1
2 2 2 2
. . . .
n n n n
Run Code Online (Sandbox Code Playgroud)
如何选择中间 33% 的行(由索引决定,而不是值)?
这是我尝试的:
df.iloc[int(len(df)*0.33):int(len(df)*0.66)]
Run Code Online (Sandbox Code Playgroud)
它确实有效,但感觉真的很混乱,更不用说强制的整数了。
我想知道是否有一种更干净的方法来选择数据帧的百分比,因为到目前为止我在文档中找不到任何有用的命令。
为此,您需要“玩”数字并定义您想要的索引是什么:
df.iloc[(len(df)// 3) : (len(df) - len(df)// 3), :]
Run Code Online (Sandbox Code Playgroud)
或者
df.iloc[(len(df)// 3) : (len(df)// 3 * 2), :]
Run Code Online (Sandbox Code Playgroud)
在这些示例中,我定义了一个间隔,即(len(df.index)// 3) : (len(df.index)// 3 * 2),它剪切了表的 1/3 和 2/3 之间的数据帧行。