cuốn sách gpt4 ai đã làm

python - Pandas 数据帧 : convert 2 columns (value, 值)分为 2 列(值,类型)

In lại Tác giả: Walker 123 更新时间:2023-11-28 20:00:45 32 4
mua khóa gpt4 Nike

假设我有以下数据框“A”

         utilization utilization_billable
service
1 10.0 5.0
2 30.0 20.0
3 40.0 30.0
4 40.0 32.0

我需要将其转换为以下数据框 "B"

         utilization type
service
1 10.0 total
2 30.0 total
3 40.0 total
4 40.0 total
1 5.0 billable
2 20.0 billable
3 30.0 billable
4 32.0 billable

因此第一个值被分类到类型列,其值为总计或计费。

data = {
'utilization': [10.0, 30.0, 40.0, 40.0],
'utilization_billable': [5.0, 20.0, 30.0, 32.0],
'service': [1, 2, 3, 4]
}
df = pd.DataFrame.from_dict(data).set_index('service')
print(df)

data = {
'utilization': [10.0, 30.0, 40.0, 40.0, 5.0, 20.0, 30.0, 32.0],
'service': [1, 2, 3, 4, 1, 2, 3, 4],
'type': [
'total',
'total',
'total',
'total',
'billable',
'billable',
'billable',
'billable',
]
}
df = pd.DataFrame.from_dict(data).set_index('service')
print(df)

有没有办法转换数据框并执行此类分类?

câu trả lời hay nhất

bạn có thể sử dụng pd.melt :

import pandas as pd
data = {
'utilization': [10.0, 30.0, 40.0, 40.0],
'utilization_billable': [5.0, 20.0, 30.0, 32.0],
'service': [1, 2, 3, 4]}

df = pd.DataFrame(data)
result = pd.melt(df, var_name='type', value_name='utilization', id_vars='service')
print(result)

产量

   service type utilization
0 1 utilization 10.0
1 2 utilization 30.0
2 3 utilization 40.0
3 4 utilization 40.0
4 1 utilization_billable 5.0
5 2 utilization_billable 20.0
6 3 utilization_billable 30.0
7 4 utilization_billable 32.0

Sau đó result.set_index('service') 将使 service 成为索引,但我建议避免这种情况,因为 service 值不是唯一的。

关于python - Pandas 数据帧 : convert 2 columns (value, 值)分为 2 列(值,类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55009878/

32 4 0
Walker 123
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress