如何更改数据框的索引或形状
How to change the index or shape of a dataframe
我有一个形状为 2x3 的数据框,我想将其更改为 3x2,然后将其可视化。
我怎样才能两者兼顾?
这是我的代码:
avg_txn_by_mth = {
'August': {
'avg_cnt': txn_by_mth['August']['Count'] / 31,
'avg_amt': txn_by_mth['August']['Amount'] / txn_by_mth['August']['Count']
},
'September': {
'avg_cnt': txn_by_mth['September']['Count'] / 30,
'avg_amt': txn_by_mth['September']['Amount'] / txn_by_mth['September']['Count']
},
'October': {
'avg_cnt': txn_by_mth['October']['Count'] / 31,
'avg_amt': txn_by_mth['October']['Amount'] / txn_by_mth['October']['Count']
}
}
avg_txn_by_mth = pd.DataFrame(avg_txn_by_mth)
avg_txn_by_mth
import pandas as pd
import matplotlib.pyplot as plt
data = {'August': {'avg_amt': 2.0, 'avg_cnt': 9.67741935483871},
'October': {'avg_amt': 1.6, 'avg_cnt': 16.129032258064516},
'September': {'avg_amt': 1.75, 'avg_cnt': 13.333333333333334}}
df = pd.DataFrame(data)
# display
August October September
avg_amt 2.000000 1.600000 1.750000
avg_cnt 9.677419 16.129032 13.333333
# transpose
dft = df.T
# display
avg_amt avg_cnt
August 2.00 9.677419
October 1.60 16.129032
September 1.75 13.333333
# plot
p = dft.plot()
我有一个形状为 2x3 的数据框,我想将其更改为 3x2,然后将其可视化。
我怎样才能两者兼顾?
这是我的代码:
avg_txn_by_mth = {
'August': {
'avg_cnt': txn_by_mth['August']['Count'] / 31,
'avg_amt': txn_by_mth['August']['Amount'] / txn_by_mth['August']['Count']
},
'September': {
'avg_cnt': txn_by_mth['September']['Count'] / 30,
'avg_amt': txn_by_mth['September']['Amount'] / txn_by_mth['September']['Count']
},
'October': {
'avg_cnt': txn_by_mth['October']['Count'] / 31,
'avg_amt': txn_by_mth['October']['Amount'] / txn_by_mth['October']['Count']
}
}
avg_txn_by_mth = pd.DataFrame(avg_txn_by_mth)
avg_txn_by_mth
import pandas as pd
import matplotlib.pyplot as plt
data = {'August': {'avg_amt': 2.0, 'avg_cnt': 9.67741935483871},
'October': {'avg_amt': 1.6, 'avg_cnt': 16.129032258064516},
'September': {'avg_amt': 1.75, 'avg_cnt': 13.333333333333334}}
df = pd.DataFrame(data)
# display
August October September
avg_amt 2.000000 1.600000 1.750000
avg_cnt 9.677419 16.129032 13.333333
# transpose
dft = df.T
# display
avg_amt avg_cnt
August 2.00 9.677419
October 1.60 16.129032
September 1.75 13.333333
# plot
p = dft.plot()