gpt4 book ai didi

python - Pandas dataframe - 如何连接具有相同列的多个数据框

转载 作者:太空宇宙 更新时间:2023-11-03 21:19:07 25 4
gpt4 key购买 nike

[编辑]

我希望首先看到一列('CUS_ID')全部为“星期几”

然后是“CUS_ID 的 TIME_HOUR”

仅连接首先返回所有 cus_id 的星期几

然后返回所有 cus_id 的 TIME_HOUR 接下来...

--

如何仅使用一列来连接数据框?有 2 个数据框,我只想将它们连接成 1 列其值是每列数据的大小

我有一个像这样的数据框:

print(raw_data.head(10))
CUS_ID TIME_ID TIME_HOUR DAY
0 1176 2012083016 16h THU
1 1176 2013030418 18h MON
2 1192 2012091609 09h SUN
3 1192 2012101310 10h SAT
4 120 2012121410 10h FRI
5 120 2012121915 15h WED
6 120 2012121915 15h WED
7 1269 2012070914 14h MON
8 1269 2012071309 09h FRI
9 1269 2013031414 14h THU

我使用“groupby”创建了新的数据框,如下所示:

df_day = raw_data.groupby(['CUS_ID','DAY']).size()
df_time = raw_data.groupby('CUS_ID').TIME_HOUR.value_counts()
df_concat = pd.concat([df_day, df_time] ,axis=1, join='outer')
print(df_concat.head(30))


DAY TIME_HOUR
2 01h NaN 6.0
02h NaN 3.0
03h NaN 2.0
04h NaN 1.0
05h NaN 15.0
06h NaN 4.0
07h NaN 7.0
08h NaN 22.0
09h NaN 214.0
10h NaN 515.0
...
FRI 925.0 NaN
MON 956.0 NaN
SAT 61.0 NaN
THU 1267.0 NaN
TUE 1334.0 NaN
WED 869.0 NaN
3 07h NaN 50.0

我喜欢得到的是这样的:

2 01h     6.0
02h 3.0
03h 2.0
04h 1.0
05h 15.0
...
FRI 925.0
MON 956.0
SAT 61.0
THU 1267.0
TUE 1334.0
WED 869.0

请帮忙..

最佳答案

不确定加入 2 个稍有不同的数据信息(小时和天)是否是个好主意,但如果确实需要的话:

您可以使用concatreindex按列表中的值:

df_day = raw_data.groupby(['CUS_ID','DAY']).size()
df_time = raw_data.groupby('CUS_ID').TIME_HOUR.value_counts()


L1 = raw_data['TIME_HOUR'].sort_values().unique().tolist()
L2 = ['SUN','MON','TUE', 'WED', 'THU','FRI','SAT']
cats = L2 + L1
print (cats)
['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', '09h', '10h', '14h', '15h', '16h', '18h']

df_concat = pd.concat([df_day, df_time]).sort_index().reindex(cats, level=1)
print(df_concat.head(30))
CUS_ID DAY
120 WED 2
FRI 1
10h 1
15h 2
1176 MON 1
THU 1
16h 1
18h 1
1192 SUN 1
SAT 1
09h 1
10h 1
1269 MON 1
THU 1
FRI 1
09h 1
14h 2
dtype: int64

关于python - Pandas dataframe - 如何连接具有相同列的多个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54442482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com