pandas将每行字典中数据提取出来
时间: 2023-05-24 17:04:43 浏览: 65
可以使用pandas的apply函数和lambda表达式来将每一行的字典数据提取出来。例如,假设有以下的数据框:
```
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Info': [{'Age': 24, 'Sex': 'F'}, {'Age': 30, 'Sex': 'M', 'Occupation': 'Engineer'}, {'Age': 25, 'Sex': 'M'}]}
df = pd.DataFrame(data)
print(df)
```
输出结果:
```
Name Info
0 Alice {'Age': 24, 'Sex': 'F'}
1 Bob {'Age': 30, 'Sex': 'M', 'Occupation': 'Engineer'}
2 Charlie {'Age': 25, 'Sex': 'M'}
```
要将每行的字典数据提取出来,可以使用apply函数和lambda表达式:
```
df_info = pd.DataFrame(df['Info'].apply(lambda x: {k: v for k, v in x.items()}).tolist())
print(df_info)
```
输出结果:
```
Age Sex Occupation
0 24.0 F None
1 30.0 M Engineer
2 25.0 M None
```
在lambda表达式中,首先将每个字典的键值对用列表推导式的方式提取出来,并使用字典推导式将其转换为新的字典。然后使用tolist()函数将整个Series转换为一个列表,最后使用pd.DataFrame()函数将这个列表转换为一个数据框。这样就可以得到每行字典中的数据了。
相关推荐
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)