我对Python和Pandas很陌生,所以这可能是一个显而易见的问题.
我有一个列有年龄的数据框.我想创建一个带有年龄段的新领域.我可以使用lambda语句捕获单个if/else语句,但我想使用多个if,例如if age < 18 then 'under 18' elif age < 40 then 'under 40' else '>40'.
我不认为我可以使用lambda做到这一点,但我不知道如何以不同的方式做到这一点.到目前为止我有这个代码:
import pandas as pd
import numpy as n
d = {'Age' : pd.Series([36., 42., 6., 66., 38.]) }
df = pd.DataFrame(d)
df['Age_Group'] = df['Age'].map(lambda x: '<18' if x < 19 else '>18')
print(df)
Run Code Online (Sandbox Code Playgroud) 我正在尝试将只有1条记录的字典转换为pandas数据帧.我使用了其他解决方案中的以下代码:
d = {'id': 'CS2_056', 'cost': 2, 'name': 'Tap'}
pd.DataFrame(d.items(), columns=['id', 'cost','name'])
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
PandasError: DataFrame constructor not properly called!
Run Code Online (Sandbox Code Playgroud)