将一个数据框架按比例分割
Pandas是一个建立在numpy库之上的开源库。一个Dataframe是一个二维的数据结构,像数据以表格的方式排列在行和列中。**** DataFrame.sample()方法可以用来分割Dataframe。
语法: DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
frac属性是定义要使用的Dataframe的一部分。例如,frac = 0.25表示将使用25%的Dataframe。
现在,让我们创建一个数据框架。
# importing pandas as pd
import pandas as pd
# dictionary
cars = {
'Brand': ['Honda Civic', 'Toyota Corolla',
'Ford Focus', 'Audi A4', 'Maruti 800',
'Toyota Innova', 'Tata Safari', 'Maruti Zen',
'Maruti Omni', 'Honda Jezz'],
'Price': [22000, 25000, 27000, 35000,
20000, 25000, 31000, 23000,
26000, 25500]
}
# create the dataframe
df = pd.DataFrame(cars,
columns = ['Brand',
'Price'])
# show the dataframe
df
输出:
例子1:将一个给定的数据框架分成60%和40%。
# importing pandas as pd
import pandas as pd
# dictionary
cars = {
'Brand': ['Honda Civic', 'Toyota Corolla',
'Ford Focus', 'Audi A4', 'Maruti 800',
'Toyota Innova', 'Tata Safari', 'Maruti Zen',
'Maruti Omni', 'Honda Jezz'],
'Price': [22000, 25000, 27000, 35000,
20000, 25000, 31000, 23000,
26000, 25500]
}
# create the dataframe
df = pd.DataFrame(cars,
columns = ['Brand',
'Price'])
# Print the 60% of the dataframe
part_60 = df.sample(frac = 0.6)
print("\n 60% DataFrame:")
print(part_60)
# Print the 40% of the dataframe
part_40 = df.drop(part_60.index)
print("\n 40% DataFrame:")
print(part_40)
输出:
例子2:将一个给定的数据框架分成80%和20%。
# importing pandas as pd
import pandas as pd
# dictionary
cars = {
'Brand': ['Honda Civic', 'Toyota Corolla',
'Ford Focus', 'Audi A4', 'Maruti 800',
'Toyota Innova', 'Tata Safari', 'Maruti Zen',
'Maruti Omni', 'Honda Jezz'],
'Price': [22000, 25000, 27000, 35000,
20000, 25000, 31000, 23000,
26000, 25500]
}
# create the dataframe
df = pd.DataFrame(cars,
columns = ['Brand',
'Price'])
# Print the 80% of the dataframe
part_80 = df.sample(frac = 0.8)
print("\n 80% DataFrame:")
print(part_80)
# Print the 20% of the dataframe
part_20 = df.drop(part_80.index)
print("\n 20% DataFrame:")
print(part_20)
输出: