Python 将字典(dict)转换为DataFrame
我们将使用 from_dict 将 dict 转换为 dataframe,在这里我们将 orient = index 设置为使用字典键作为行并使用 rename() 方法来更改列名。Pandas 的 DataFrame 构造函数pd.DataFrame()如果将字典的 items 作为构造函数的参数而不是字典本身,则将字典转换为 dataframe。我们将使用 pandas 的字典推导和 conc
·
Python 将字典(dict)转换为DataFrame
1.将字典转换为 Pandas DataFame 的方法
Pandas 的 DataFrame 构造函数pd.DataFrame()如果将字典的 items 作为构造函数的参数而不是字典本身,则将字典转换为 dataframe。
import pandas as pd
fruit_dict = {
3: 'apple',
2: 'banana',
6:'mango',
4:'apricot',
1:'kiwi',
8:'orange'}
print(pd.DataFrame(list(fruit_dict.items()),
columns=['Quantity', 'FruitName']))
字典的键和值将转换为DataFrame的两列,其列名如选项列中所给。
输出为:
Quantity FruitName
0 3 apple
1 2 banana
2 6 mango
3 4 apricot
4 1 kiwi
5 8 orange
2.在 Pandas DataFrame 中将键转换为列,将值转换为行的方法,我们可以简单地将字典放在方括号中,并从上面的代码中删除列名,如下所示:
import pandas as pd
fruit_dict = {
1: 'apple',
2: 'banana',
3:'mango',
4:'apricot',
5:'kiwi',
6:'orange'}
print(pd.DataFrame([fruit_dict]))
输出:
1 2 3 4 5 6
0 apple banana mango apricot kiwi orange
我们将使用 pandas 的字典推导和 concat 来合并所有的字典,然后传递列表以使用新的列名
考虑以下代码,
import pandas as pd
data = {
'1':{
'apple':11,
'banana':18},
'2':{
'apple':16,
'banana':12}
}
df = pd.concat({k: pd.Series(v) for k, v in data.items()}).reset_index()
df.columns = ['dict_index', 'name','quantity']
print(df)
输出:
dict_index name quantity
0 1 apple 11
1 1 banana 18
2 2 apple 16
3 2 banana 12
3.pandas.DataFrame()。from_dict() 方法将 dict 转换为 dataframe
我们将使用 from_dict 将 dict 转换为 dataframe,在这里我们将 orient = index 设置为使用字典键作为行并使用 rename() 方法来更改列名。
考虑以下代码,
import pandas as pd
print(pd.DataFrame.from_dict({
'apple': 3,
'banana': 5,
'mango': 7,
'apricot': 1,
'kiwi': 8,
'orange': 3}, orient='index').rename
(columns={0:'Qunatity'}))
输出:
Quantity
apple 3
banana 5
mango 7
apricot 1
kiwi 8
orange 3
参考:https://www.zhihu.com/question/502492711
更多推荐
已为社区贡献2条内容
所有评论(0)