我正在使用PyCharm 2016.2.1.当我尝试通过调试器中新添加的"View as DataFrame"功能查看Pandas数据帧时,这可以按预期的方式用于小型(例如4x4)DataFrame.
但是,当我尝试查看〜10,000行x~50列的DataFrame(由自定义脚本生成)时,我收到消息:"没有显示".
当我在Spyder中运行相同的脚本(生成DataFrame)时,我能够查看它,所以我很确定它在我的脚本中不是错误.
有没有人知道可以在PyCharm中查看DataFrames的最大大小,是否有办法改变这个?
似乎允许的最大大小是1000 x 15,因为在某些情况下它被截断到这个大小(当行数太大时,但是当列数太多时,pycharm只是说'没有显示').
不过,我想知道是否有办法增加可通过DataFrame查看器查看的最大允许行数和列数.
这是我关于 StackOverflow 的第一个问题,所以让我知道我是否应该以不同的方式制定任何内容......
我想替换 Pandas Dataframe 列中的某些值,这取决于与另一列中的值相关的条件,但如果条件为 False,则保留原始值。例如:
import pandas as pd
df=pd.DataFrame({'col1':['A','B','C','B'], 'col2':['z','x','x','x']},
columns=['col1','col2'])
df =
col1 col2
0 A z
1 B x
2 C x
3 B x
Run Code Online (Sandbox Code Playgroud)
说,如果 col1 中的值是 'B' 或 'C',我想将 col2 中的值替换为 'q',但如果 col1 中的值不是,则保留原始值 ('z','x') B 或 C。实际上,我有更大的 DataFrame,在 col1 中有数百个唯一值,并且希望将 col2 中的值替换为大约 20 个。
我目前的解决方案是创建一个字典,使用 col1 作为键,使用 col2 作为值,然后:
dict1.update({'B':'q'})
df[col2] = df[col1].map(dict1)
Run Code Online (Sandbox Code Playgroud)
但是这个技巧只有在两列中的值完全相关时才有效(或者如果 col1 中的值是唯一的)。
所以我想知道是否有更优雅的解决方案。因此,如果 col1 匹配某个条件,则仅替换 col2 中的值,否则保留原始值。