小编Bar*_*ysz的帖子

Python 3.6 - AttributeError:模块“tkinter”没有属性“filedialog”

几分钟前,我的功能运行良好。没有修改代码,只是安装了PyAudio。我根据主题收到错误。无论是从命令行还是 IDE 运行它都没有关系,同样的错误。有任何想法吗?

def DataFinder():
    #imports and initialize
    import pandas as pd
    import tkinter as tk

    finder = tk.Tk()
    finder.withdraw()

    __dataFlag = False
    #ask user to select a file
    __path = tk.filedialog.askopenfilename()
    #check the extension to handle reader
    #for csv files
    if __path.endswith('.csv')==True:
        df = pd.read_csv(__path,header=0)
        return df
        __dataFlag = True
    #and for excel files
    elif __path.endswith('.xls')==True:
        df = pd.read_excel(__path,header=0)
        return df
        __dataFlag = True
    #if a file is not a supported type display message and quit
    else:
        __dataFlag = …
Run Code Online (Sandbox Code Playgroud)

tkinter python-3.x

8
推荐指数
2
解决办法
8486
查看次数

熊猫选择列中的值不以字符串开头的行

我有一个数据,我需要过滤掉以某个值s开头的任何行- 强调复数:

与文件 data.xlsx 中显示的完全相同的数据下方

Name                Remains
GESDSRPPZ0161       TRUE
RT6000996           TRUE
RT6000994           TRUE
RT6000467           TRUE
RT6000431           TRUE
MCOPSR0034          FALSE
MCOPSR0033          FALSE
Run Code Online (Sandbox Code Playgroud)

我需要能够返回名称MCO、GE等开头的数据帧。

import pandas as pd
import numpy as np

### data
file = r'C:\Users\user\Desktop\data.xlsx'

data  = pd.read_excel(file, na_values = '')
data['name'] = data['name'].str.upper()

prefixes = ['IM%','JE%','GE%','GV%','CHE%','MCO%']

new_data = data.select(lambda x: x not in prefixes)


new_data.shape
Run Code Online (Sandbox Code Playgroud)

最后一次调用返回与我开始时完全相同的数据集。

我试过:

大熊猫使用startswith从Dataframe中选择

但如果字符串在其他地方(不仅以开头),它会排除数据

df = df[df['Column Name'].isin(['Value']) == False]
Run Code Online (Sandbox Code Playgroud)

如果我确切地知道有问题的字符串,上面的答案会起作用,但是它会改变(公共部分是 MCOxxxxx、GVxxxxxx、GExxxxx...)

这个也发生了同样的事情:

如何为 Pandas 数据框实现“in”和“not in”

因为我必须传递的值必须是准确的。有什么办法可以使用与此处相同的逻辑(是否有与 …

python-3.x pandas anaconda jupyter-notebook

5
推荐指数
1
解决办法
5336
查看次数

np.where() 如果条件失败则不执行任何操作

我的数据框中有一个示例:

       Created      Insert Time   MatchKey              In Previous    New Type
18593  2016-08-12   2018-02-19    LXGS090393APIN040640       No        New Existing
5517   2016-08-12   2018-02-19    LIN380076CI166203726       No        New Existing
2470   2018-02-12   2018-02-19    CI164414649APIN160672      No        New Existing
13667  2016-08-12   2018-02-19    LIN257400APIN015446       Yes        New Existing
10998  2016-08-12   2018-02-19    LXSV225786APIN158860      Yes        New Existing
20149  2016-08-12   2018-02-19    LIN350167APIN158284       Yes        New Existing
20143  2016-08-12   2018-02-19    LIN350167APIN161348       Yes        New Existing
30252  2016-08-12   2018-02-19    LXGS120737APIN153339      Yes        New Existing
12583  2016-08-09   2018-02-19    WIN556410APIN157186       Yes        New Existing
28591  2018-05-03   2018-02-19    CI195705185APIN009076      No        New Created
Run Code Online (Sandbox Code Playgroud)

我想以一种方式替换 …

python numpy python-3.x pandas

5
推荐指数
2
解决办法
9998
查看次数

仅在一行中以粗体显示DataFrame()值

直接从jupyter单元调用数据框摘要

summary #(Shift + Enter)
Run Code Online (Sandbox Code Playgroud)

如何使加亮的行(最后一行)仅以粗体显示?

在此处输入图片说明

ipython pandas jupyter-notebook

3
推荐指数
2
解决办法
3443
查看次数

熊猫如何在时间段上过滤DataFrame

我有一个带有下表的文件:

    Name        AvailableDate            totalRemaining
0   X3321       2018-03-14 13:00:00      200
1   X3321       2018-03-14 14:00:00      200
2   X3321       2018-03-14 15:00:00      200
3   X3321       2018-03-14 16:00:00      200
4   X3321       2018-03-14 17:00:00      193
Run Code Online (Sandbox Code Playgroud)

我想返回一个DataFrame,其中包含特定时间段内的所有记录,而与实际日期无关。

我在这里遵循了示例:

按时间过滤熊猫数据框

但是当我执行以下命令时:

## setup
import pandas as pd
import numpy as np

### Step 2
### Check available slots
file2 = r'C:\Users\user\Desktop\Files\data.xlsx'

slots = pd.read_excel(file2,na_values='')

## filter the preferred ones
slots['nextAvailableDate'] = pd.to_datetime((slots['nextAvailableDate']))


slots['times'] = pd.to_datetime((slots['nextAvailableDate']))
slots = slots[slots['times'].between('21:00:00', '02:00:00')]
Run Code Online (Sandbox Code Playgroud)

这将返回空的DataFrame以及以下解决方案:

slots = slots[slots['times'].dt.strftime('%H:%M:%S').between('21:00:00', '02:00:00')] …
Run Code Online (Sandbox Code Playgroud)

python datetime python-3.x python-datetime pandas

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

pandas.DataFrame.plot() 更新后不显示 x 轴

import pandas as pd
import numpy as np

import matplotlib.pyplot as plt
%matplotlib inline
plt.style.use('seaborn-white')
Run Code Online (Sandbox Code Playgroud)

燃尽数据框:

                Forecast    Actual
Baseline        11422       11422
February 2018   11422       11325
March 2018      11420       10717
April 2018      11415       10272
May 2018        11393       8771
June 2018       11382       7750
July 2018       10069       6940
August 2018     6330        6038
September 2018  6153        4998
Run Code Online (Sandbox Code Playgroud)

用于通过调用生成带有 x 轴的图表:

burndown_data.plot(figsize=(15,3),grid=True,title=title,marker='o')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但升级到最新的 pandas 之后,x 轴丢失了。如何解决这个问题?

在此输入图像描述

当我尝试这种方法时:

Matplotlib:: 未显示所有 x 轴数据框变量

我有一个错误: 在此输入图像描述

python matplotlib pandas

0
推荐指数
1
解决办法
8242
查看次数