私はデータavito_trend.csvのファイルを持っていると私はax = result.plot(width=0.5, kind='barh', stacked=True)
を使用棒グラフ、水平使用してmatplotlibの
import pandas as pd
import itertools
df = pd.read_csv("avito_trend.csv", parse_dates=[2])
def f(df):
dfs = []
for x in [list(x) for x in itertools.combinations(df['address'].unique(), 2)]:
c1 = df.loc[df['address'].isin([x[0]]), 'ID']
c2 = df.loc[df['address'].isin([x[1]]), 'ID']
c = pd.Series(list(set(c1).intersection(set(c2))))
dfs.append(pd.DataFrame({'a':len(c), 'b':' and '.join(x)}, index=[0]))
return pd.concat(dfs)
result = df.groupby([df['used_at'].dt.year]).apply(f).reset_index(drop=True, level=1).reset_index()
print result
used_at a b
0 2014 1364 avito.ru and e1.ru
1 2014 1716 avito.ru and drom.ru
2 2014 1602 avito.ru and auto.ru
3 2014 299 avito.ru and avtomarket.ru
4 2014 579 avito.ru and am.ru
5 2014 602 avito.ru and irr.ru/cars
6 2014 424 avito.ru and cars.mail.ru/sale
7 2014 634 e1.ru and drom.ru
8 2014 475 e1.ru and auto.ru
9 2014 139 e1.ru and avtomarket.ru
10 2014 224 e1.ru and am.ru
11 2014 235 e1.ru and irr.ru/cars
12 2014 154 e1.ru and cars.mail.ru/sale
13 2014 874 drom.ru and auto.ru
14 2014 247 drom.ru and avtomarket.ru
15 2014 394 drom.ru and am.ru
16 2014 423 drom.ru and irr.ru/cars
17 2014 292 drom.ru and cars.mail.ru/sale
18 2014 243 auto.ru and avtomarket.ru
19 2014 408 auto.ru and am.ru
20 2014 409 auto.ru and irr.ru/cars
21 2014 330 auto.ru and cars.mail.ru/sale
22 2014 133 avtomarket.ru and am.ru
23 2014 139 avtomarket.ru and irr.ru/cars
24 2014 105 avtomarket.ru and cars.mail.ru/sale
25 2014 223 am.ru and irr.ru/cars
26 2014 166 am.ru and cars.mail.ru/sale
27 2014 197 irr.ru/cars and cars.mail.ru/sale
28 2015 1153 avito.ru and e1.ru
29 2015 1473 avito.ru and auto.ru
30 2015 1491 avito.ru and drom.ru
31 2015 403 avito.ru and irr.ru/cars
32 2015 205 avito.ru and avtomarket.ru
33 2015 256 avito.ru and cars.mail.ru/sale
34 2015 262 avito.ru and am.ru
35 2015 451 e1.ru and auto.ru
36 2015 539 e1.ru and drom.ru
37 2015 148 e1.ru and irr.ru/cars
38 2015 105 e1.ru and avtomarket.ru
39 2015 105 e1.ru and cars.mail.ru/sale
40 2015 99 e1.ru and am.ru
41 2015 799 auto.ru and drom.ru
42 2015 288 auto.ru and irr.ru/cars
43 2015 162 auto.ru and avtomarket.ru
44 2015 195 auto.ru and cars.mail.ru/sale
45 2015 224 auto.ru and am.ru
46 2015 277 drom.ru and irr.ru/cars
47 2015 175 drom.ru and avtomarket.ru
48 2015 189 drom.ru and cars.mail.ru/sale
49 2015 187 drom.ru and am.ru
50 2015 73 irr.ru/cars and avtomarket.ru
51 2015 94 irr.ru/cars and cars.mail.ru/sale
52 2015 102 irr.ru/cars and am.ru
53 2015 48 avtomarket.ru and cars.mail.ru/sale
54 2015 72 avtomarket.ru and am.ru
55 2015 73 cars.mail.ru/sale and am.ru
の棒グラフを印刷したいと私はthis graphのようになめらかを取得したいです。 どうすればいいですか? 私は2014年と2015年の意味を、他のサイトのペアのために1つのストライドにする必要があります。 、代わりにパーセント私はa
は、その絵のような手段を追加するために、実際のですか? [pic](https://silvrback.s3.amazonaws.com/uploads/ae516a51-06ae-400d-a93d-5c2ba3d3590f/delays_large.png) – ldevyataykina
そして、どのように各ペアの間にスペースを置くことができますか?カラムを 'el.ru - > avito.ru'から' 2014'と '2015'に変更し、スペースを追加しますか?そしてこれはすべてのペアのために – ldevyataykina
@ldevyataykinaです。各バーの最後またはパーセンテージに訪問回数を追加しますか? – MaxU