1 回答

TA貢獻1856條經驗 獲得超17個贊
您可以連接每個 dict 的鍵以表示您的行列,然后將每個 dict 的值連接成一行(DataFrame作為嵌套 dict傳遞給構造函數以創建一行而不是單列)。例如:
import pandas as pd
nan = float('nan')
d1 = {'DB': 'M', 'TITLE': 'ACM Journal of Computer Documentation', 'ISSN': '1527-6805', 'e-ISSN': '1557-9441', 'ISBN': nan, 'e-ISBN': nan}
d2 = {'DB': 'D', 'TITLE': 'ACM Computing Surveys', 'ISSN': '0360-0300', 'e-ISSN': '1557-7341', 'ISBN': nan, 'e-ISBN': nan}
columns = [*d1.keys(), *d2.keys()]
row = [*d1.values(), *d2.values()]
df = pd.DataFrame([row], columns=columns)
print(df)
# DB TITLE ... DB TITLE
# 0 M ACM Journal of Computer Documentation ... D ACM Computing Surveys
您可以創建一個簡單的函數,DataFrame使用相同的基本方法將任意數量的字典轉換為單行。例如:
def dicts_to_single_row_df(*args):
columns = [k for d in args for k in d.keys()]
row = [v for d in args for v in d.values()]
return pd.DataFrame([row], columns=columns)
df = dicts_to_single_row_df(d1, d2)
添加回答
舉報