python - 在 Python 中转换为数据框

标签 python dataframe

在特定数据集中,我有一列“starCustomer”,它采用以下值:

[0, X, 0, 0, X, 0, X,...]

也就是说,如果此人不是星级客户,则每个观察值将包含 0,如果该人是星级客户,则每个观察值将包含 X。我认为将每个 X 表示为 1 会是一个更好的主意,因此,我编写了以下代码:

Star = df['starCustomer']
New_Star = [1 if x == 'X', else 0 for x in Star]

但是,据我所知,New_Star 并不是我们希望的那样的数据框。因此,我尝试执行以下代码:

Star = pd.DataFrame(New_Star)

但是,我收到以下错误:

TypeError: 'list' object is not callable

有人可以告诉我这有什么不正确吗?

最佳答案

数据框中的列是 pd.Series 类的对象

您可以首先向数据框添加一个新列:

df['New_Star'] = df.apply(lambda x: 1 if x == 'X' else 0 , axis=1)

您现在可以获得仅包含 New_Star 列的数据框:

new_star_df = df[['New_Star']]

注意双括号,使用单括号您将返回 pd.Series,而不是 pd.DataFrame

关于python - 在 Python 中转换为数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36120140/

相关文章:

python - 自定义 simplejson 输出

python - 数据框内的 Pandas 转置

r - 根据 R 中的第一列绘制数据框的列

python - 在 pandas/python 的同一数据框中将两列合并为一列

python - 无法检查值是否在列表中

python - 两列的卡住集并集

python - 成对平方差的高效 Numpy 计算

python - django 表单 views.py - 错误 : inconsistent use of tabs and spaces in indentation

python - 从数据框中删除列中的某些特定关键字并将其保存到 json

Python计算每一行的MSE