如果我dict中是长度为2的tuple,转成df之后如何拆开他们
时间: 2024-03-01 21:49:37 浏览: 8
可以`apply`方法结合`pd.Series`将元组中的值拆分成两列:
假设原始字典为`d`,可以按照以下方式将其转换为DataFrame并拆分元组:
```python
import pandas as pd
# 假设原始字典为 d
d = {1: ('a', 10), 2: ('b', 20), 3: ('c', 30)}
# 将字典转换为DataFrame
df = pd.DataFrame.from_dict(d, orient='index')
# 使用 apply 方法结合 pd.Series 将元组拆分成两列
df[['col1', 'col2']] = df[0].apply(pd.Series)
# 删除原始列 0
df = df.drop(0, axis=1)
print(df)
```
输出:
```
col1 col2
1 a 10
2 b 20
3 c 30
```
这样,就可以将元组中的值拆分成两列,分别命名为`col1`和`col2`。
相关问题
python tuple 转 dict
可以使用 Python 中的 dict() 函数将 tuple 转换为字典。以下是示例代码:
```
t = ((1, 'a'),(2, 'b'))
d = dict((x,y) for x,y in t)
print(d)
```
输出结果为:
```
{1: 'a', 2: 'b'}
```
两个tuple合并为一个为dict
可以使用zip函数将两个tuple合并为一个tuple列表,然后使用dict函数将其转换为字典:
```
tuple1 = ('a', 'b', 'c')
tuple2 = (1, 2, 3)
dict1 = dict(zip(tuple1, tuple2))
print(dict1) # {'a': 1, 'b': 2, 'c': 3}
```
其中,zip函数将tuple1和tuple2按照相同的索引位置组合为一个tuple列表,即[('a', 1), ('b', 2), ('c', 3)],然后dict函数将其转换为字典。