如何使用pandas.DataFrame.sample() 方法在 Pandas DataFrame 行随机排序[手机光明网]

如何使用pandas.DataFrame.sample() 方法在 Pandas DataFrame 行随机排序[手机光明网]

已邀请:
pandas.DataFrame.sample() 可用于返回项目的随机样本从 DataFrame 对象的轴开始。我们需要将 axis 参数设置为 0,因为我们需要按行采样元素,这是 axis 参数的默认值。

frac 参数确定需要返回的实例总数的哪一部分。如果希望随机排序,请将 frac 的值设置为 1。

import pandas as pd

dates=['April-10', 'April-11', 'April-12', 'April-13']
fruits=['Apple', 'Papaya', 'Banana', 'Mango']
prices=[3, 1, 2, 4]

df = pd.DataFrame({'Date':dates ,
'Fruit':fruits ,
'Price': prices})
print(df)

df_shuffled=df.sample(frac=1).reset_index(drop=True)
print(df_shuffled)
输出:

Date Fruit Price
0 April-10 Apple 3
1 April-11 Papaya 1
2 April-12 Banana 2
3 April-13 Mango 4
Date Fruit Price
3 April-13 Mango 4
2 April-12 Banana 2
0 April-10 Apple 3
1 April-11 Papaya 1
如上所示,Dataframe.shuttle 方法可对 Pandas DataFrame 的行进行混洗。DataFrame 行的索引与初始索引相同。

我们可以添加 reset_index() 方法来重置 DataFrame 索引。
import pandas as pd

dates=['April-10', 'April-11', 'April-12', 'April-13']
fruits=['Apple', 'Papaya', 'Banana', 'Mango']
prices=[3, 1, 2, 4]

df = pd.DataFrame({'Date':dates ,
'Fruit':fruits ,
'Price': prices})
print(df)

df_shuffled=df.sample(frac=1).reset_index(drop=True)
print(df_shuffled)
输出:

Date Fruit Price
0 April-10 Apple 3
1 April-11 Papaya 1
2 April-12 Banana 2
3 April-13 Mango 4
Date Fruit Price
0 April-11 Papaya 1
1 April-13 Mango 4
2 April-10 Apple 3
3 April-12 Banana 2
在这里,drop = True 选项防止将 index 列添加为新列。

要回复问题请先登录注册