是否有一两行代码可以使从列表创建的DataFrame像从字典创建的DataFrame一样工作?
#DataFrame created from dictionary, this works:
import pandas as pd
data= {'Salary': [30000, 40000, 50000, 85000, 75000],
'Exp': [1, 3, 5, 10, 25],
'Gender': ['M','F', 'M', 'F', 'M']}
df = pd.DataFrame(data)
print(df), print()
new_df1 = df[df['Salary'] >= 50000]
print(new_df1), print()
new_df2 = df.sort_values(['Exp'], axis = 0, ascending=[False])
print(new_df2)
#This doesn't work with the df.functions, sort and conditionals
data = [['Salary', 'Exp', 'Gender'],[30000, 1, 'M'],
[40000, 3, 'F'], [50000, 5, 'M'], [85000, 10, 'F'], [75000, 25, 'M']]
df = pd.DataFrame(data)
print(df), print()
new_df1 = df[df['Salary'] >= 50000] #doesn't work
print(new_df1), print()
new_df2 = df.sort_values(['Exp'], axis = 0, ascending=[False]) #ditto
print(new_df2)
2条答案
按热度按时间qxsslcnc1#
在第二段代码中,没有使用第一个子列表作为列名,而是使用数据。
而将第一个子列表作为
DataFrame
构造函数的columns
参数传递:输出:
代码失败的原因
您的代码错误地将第一个子列表Map为数据:
完整代码:
输出:
q5iwbnjs2#
这里有必要创建 Dataframe 的所有值没有第一和传递参数
columns
: