[英]Creating a dataframe from multiple lists with list names as column names
最快的方法:
pd.DataFrame(dict(name=['Robert'],age=['25'],gender=['m']))
pd.DataFrame
將data
作為第一個參數,即: numpy.ndarray
, dict
或DataFrame
。
考慮到您沒有比name
, age
和gender
定義更多的變量,我認為這可能有效:
not_my_data = set(dir())
# define your variables
name=['Robert']
age=['25']
gender=['m'].
my_data = set(dir()) - not_my_data
pd.DataFrame({k:globals()[k] for k in my_data})
請注意, pd.DataFrame
構造函數接受映射到值列表的列標簽字典。 所以你可以使用:
df = pd.DataFrame({'name': name, 'age': age, 'gender': gender'})
或者,您可以使用帶有zip
的列表推導來提供行。 這將創建一個列表列表,每個子列表代表一行:
name = ['Robert']
age = ['25']
gender = ['m']
L = [list(row) for row in zip(name, age, gender)]
df = pd.DataFrame(L, columns=['name', 'age', 'gender'])
print(df)
name age gender
0 Robert 25 m
以上可以使用map
功能編寫:
L = list(map(list, zip(name, age, gender)))
選項1
d = {'name':['Robert'],'age':['25'],'gender':['m']}
pd.DataFrame.from_dict(d)
選項2動態形成dict
-
pd.DataFrame.from_dict(dict(name=['Robert'], age=['25'], gender=['m']))
name=['Robert']
age=['25']
gender=['m']
data = pd.DataFrame({"name":name,"age":age,"gender":gender})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.