小编Ash*_*ver的帖子

从熊猫数据框中删除重复的行:不区分大小写的比较

我想根据两列中的值从数据框中删除重复的行:Column1Column2

如果dataframe是:

df = pd.DataFrame({'Column1': ["'cat'", "'toy'", "'cat'"],
                   'Column2': ["'bat'", "'flower'", "'bat'"],
                   'Column3': ["'xyz'", "'abc'", "'lmn'"]})
Run Code Online (Sandbox Code Playgroud)

关于使用:

result_df = df.drop_duplicates(subset=['Column1', 'Column2'], keep='first')
print(result_df)
Run Code Online (Sandbox Code Playgroud)

我得到:

  Column1   Column2 Column3
0   'cat'     'bat'   'xyz'
1   'toy'  'flower'   'abc'
Run Code Online (Sandbox Code Playgroud)

但是使用相同的代码dataframe(Cat 和 Bat 案例已更改)

df = pd.DataFrame({'Column1': ["'Cat'", "'toy'", "'cat'"],
                   'Column2': ["'Bat'", "'flower'", "'bat'"],
                   'Column3': ["'xyz'", "'abc'", "'lmn'"]})
Run Code Online (Sandbox Code Playgroud)

我得到:

  Column1   Column2 Column3
0   'Cat'     'Bat'   'xyz'
1   'toy'  'flower'   'abc'
2   'cat'     'bat'   'lmn'
Run Code Online (Sandbox Code Playgroud)

预期输出:

  Column1   Column2 Column3 …
Run Code Online (Sandbox Code Playgroud)

python loops dataframe pandas

4
推荐指数
1
解决办法
3661
查看次数

在 pandas 中使用 groupby 用模式替换缺失值时出现 IndexError

我有一个需要缺失值处理的数据集。

 Column                      Missing Values

 Complaint_ID                    0         
 Date_received                   0         
 Transaction_Type                0         
 Complaint_reason                0         
 Company_response              22506         
 Date_sent_to_company            0         
 Complaint_Status                0         
 Consumer_disputes             7698
Run Code Online (Sandbox Code Playgroud)

现在的问题是,当我尝试用values其他columns使用模式替换缺失的内容时groupby

代码:

data11["Company_response"] = 
data11.groupby("Complaint_reason").transform(lambda x: x.fillna(x.mode() 
[0]))["Company_response"]

data11["Consumer_disputes"] = 
data11.groupby("Transaction_Type").transform(lambda x: x.fillna(x.mode() 
[0]))["Consumer_disputes"]
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

堆栈跟踪

Traceback (most recent call last):

File "<ipython-input-89-8de6a010a299>", line 1, in <module>
    data11["Company_response"] = data11.groupby("Complaint_reason").transform(lambda x: x.fillna(x.mode()[0]))["Company_response"]

  File "C:\Anaconda3\lib\site-packages\pandas\core\groupby.py", line 3741, in transform
    return self._transform_general(func, *args, **kwargs)

  File "C:\Anaconda3\lib\site-packages\pandas\core\groupby.py", line 3699, in _transform_general
    res = path(group)

  File "C:\Anaconda3\lib\site-packages\pandas\core\groupby.py", line …
Run Code Online (Sandbox Code Playgroud)

python missing-data dataframe pandas pandas-groupby

2
推荐指数
1
解决办法
1368
查看次数

标签 统计

dataframe ×2

pandas ×2

python ×2

loops ×1

missing-data ×1

pandas-groupby ×1