ift*_*hen 16 python dictionary tuples pandas
我有以下词典:
td = {'q1':(111,222), 'q2':(333,444)}
Run Code Online (Sandbox Code Playgroud)
我想将其转换为如下所示的数据框:
Query Value1 Value2
q1 111 222
q2 333 444
Run Code Online (Sandbox Code Playgroud)
我尝试过以下方法:
df = pd.DataFrame(td.items())
Run Code Online (Sandbox Code Playgroud)
结果如下:
0 1
0 q1 (111,222)
1 q2 (333,444)
Run Code Online (Sandbox Code Playgroud)
如果不是很明显,我是python和pandas的新手.如何将具有值作为元组的字典作为数据框中的单独列来运行?
我的最终目标是显示value1和value2之间的百分比差异.
piR*_*red 16
建立
td = {'q1':(111,222), 'q2':(333,444)}
Run Code Online (Sandbox Code Playgroud)
选项1
pd.DataFrame(td).T.rename_axis('Query').add_prefix('Value').reset_index()
Query Value0 Value1
0 q1 111 222
1 q2 333 444
Run Code Online (Sandbox Code Playgroud)
选项2
from cytoolz.dicttoolz import merge
pd.DataFrame(
[merge(
{'Query': k},
{'Value{}'.format(i): x for i, x in enumerate(v, 1)}
) for k, v in td.items()]
)
Query Value1 Value2
0 q1 111 222
1 q2 333 444
Run Code Online (Sandbox Code Playgroud)
对评论的回应
df = pd.DataFrame(td).T.rename_axis('Query').add_prefix('Value')
df.assign(PctChg=df.pct_change(axis=1).iloc[:, -1]).reset_index()
Query Value0 Value1 PctChg
0 q1 111 222 1.000000
1 q2 333 444 0.333333
Run Code Online (Sandbox Code Playgroud)
要么
df = pd.DataFrame(td).T.rename_axis('Query').add_prefix('Value')
df.eval('PctChg = Value1 / Value0 - 1', inplace=False).reset_index()
Query Value0 Value1 PctChg
0 q1 111 222 1.000000
1 q2 333 444 0.333333
Run Code Online (Sandbox Code Playgroud)
WeN*_*Ben 13
试试这个 ?
td = {'q1':(111,222), 'q2':(333,444)}
df = pd.DataFrame(td).T
df
Out[25]:
0 1
q1 111 222
q2 333 444
Run Code Online (Sandbox Code Playgroud)
使用from_dict:
pd.DataFrame.from_dict({'q1':(111,222), 'q2':(333,444)}, orient='index')
Run Code Online (Sandbox Code Playgroud)
返回:
0 1
q1 111 222
q2 333 444
Run Code Online (Sandbox Code Playgroud)
抛出一些格式:
df.columns = 'Value' + df.columns.to_series().add(1).astype(str)
df.index.name = 'Query'
Run Code Online (Sandbox Code Playgroud)
你得到:
Value1 Value2
Query
q1 111 222
q2 333 444
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2824 次 |
| 最近记录: |