Вы имеете в виду что-то подобное?
import pandas as pd
df = pd.DataFrame({
"availability": [1, 2, 2, 3, 3, 3, 4, 4, 4, 4],
"num_reviews": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
})
# Count number of reviews per unique value for "availibility"
df["reviews_by_availability"] = df.groupby("availability")["num_reviews"].transform("sum")
print df
# Optionally, print only one instance of each "availability"
print df.drop_duplicates(subset=["availability"])
Выход:
availability num_reviews reviews_by_availability
0 1 1 1
1 2 1 2
2 2 1 2
3 3 1 3
4 3 1 3
5 3 1 3
6 4 1 4
7 4 1 4
8 4 1 4
9 4 1 4
availability num_reviews reviews_by_availability
0 1 1 1
1 2 1 2
3 3 1 3
6 4 1 4
Также, пожалуйста, не размещайте изображения ваших данных, это не поможет.
РЕДАКТИРОВАТЬ: Вы можете построить его с помощью pandas.DataFrame.plot.scatter()
:
# Draw scatterplot
import matplotlib.pyplot as plt
df.drop_duplicates(subset=["availability"]).plot.scatter(x="availability", y="reviews_by_availability")
plt.show()
Результат:
