由于我们不再支持 python 3.5,我们现在可以使用新的 f-strings 而不是旧的.format()
(显然是%
格式)。
不要忘记在您的拉取请求的正文消息中链接此问题,只需将此https://github.com/pandas-dev/pandas/issues/29547
粘贴到您的拉取请求的正文消息中即可。
如果您更改的任何文件与 #29886 相关,请确保将您的拉取请求也链接到该问题,只需将此https://github.com/pandas-dev/pandas/issues/29886
也粘贴到您的拉取请求的正文消息中。
请评论你打算做什么,所以我们不会做双重工作。
如果应该标记为完成的文件未标记,请发表评论让我知道。
要检查pandas
目录中仍需要修复哪些文件:
grep -l -R '%s' --include=*.{py,pyx} pandas/
grep -l -R '%d' --include=*.{py,pyx} pandas/
grep -l -R '\.format(' --include=*.{py,pyx} pandas/
以上所有内容也可以用作单衬:
grep -l -R -e '%s' -e '%d' -e '\.format(' --include=*.{py,pyx} pandas/
如果要查看出现的行号,请将-l
替换-n
例如:
grep -n -R '%s' --include=*.{py,pyx} pandas/
[] 熊猫/compat/pickle_compat.py
[] 熊猫/_config/config.py
[] 熊猫/核心/数组/datetimelike.py
[]熊猫/核心/阵列/日期时间.py
[] 熊猫/核心/阵列/整数.py
[] 熊猫/核心/阵列/期间.py
[] 熊猫/核心/计算/pytables.py
[] 熊猫/核心/config_init.py
[] 熊猫/核心/frame.py
[] 熊猫/核心/generic.py
[] 熊猫/核心/groupby/generic.py
[] 熊猫/核心/groupby/groupby.py
[] 熊猫/核心/索引/base.py
[] 熊猫/核心/索引/multi.py
[] 熊猫/核心/索引/range.py
[] 熊猫/核心/操作/docstrings.py
[] 熊猫/核心/操作/__init__.py
[] 熊猫/核心/重塑/merge.py
[]熊猫/核心/工具/datetimes.py
[] 熊猫/io/formats/css.py
[] 熊猫/io/formats/excel.py
[] 熊猫/io/formats/format.py
[] 熊猫/io/formats/html.py
[] 熊猫/io/formats/info.py
[] 熊猫/io/formats/latex.py
[] 熊猫/io/formats/printing.py
[] 熊猫/io/formats/style.py
[] 熊猫/io/parsers.py
[] 熊猫/io/pytables.py
[] 熊猫/io/sas/sas_xport.py
[] 熊猫/io/stata.py
[] 熊猫/_libs/tslibs/c_timestamp.pyx
[]熊猫/_libs/tslibs/frequencies.pyx
[]熊猫/_libs/tslibs/parsing.pyx
[]熊猫/_libs/tslibs/period.pyx
[]熊猫/_libs/tslibs/strptime.pyx
[]熊猫/_libs/tslibs/timedeltas.pyx
[] 熊猫/绘图/_matplotlib/converter.py
[] 熊猫/测试/数组/分类/test_operators.py
[] 熊猫/测试/数组/test_datetimelike.py
[] 熊猫/测试/dtypes/test_dtypes.py
[] 熊猫/测试/扩展/基础/setitem.py
[] 熊猫/测试/框架/test_constructors.py
[] 熊猫/测试/框架/test_missing.py
[] 熊猫/测试/框架/test_to_csv.py
[] 熊猫/测试/groupby/aggregate/test_other.py
[] 熊猫/测试/索引/日期时间/test_date_range.py
[] 熊猫/测试/索引/日期时间/test_datetime.py
[] 熊猫/测试/索引/日期时间/test_formats.py
[] 熊猫/测试/索引/日期时间/test_partial_slicing.py
[] 熊猫/测试/索引/间隔/test_constructors.py
[] 熊猫/测试/索引/间隔/test_interval.py
[] 熊猫/测试/索引/multi/test_format.py
[] 熊猫/测试/索引/期间/test_formats.py
[] 熊猫/测试/索引/test_base.py
[]熊猫/测试/索引/timedeltas/test_timedelta.py
[] 熊猫/测试/索引/test_categorical.py
[] 熊猫/测试/索引/test_coercion.py
[]熊猫/测试/io/excel/test_openpyxl.py
[] 熊猫/测试/io/excel/test_writers.py
[] pandas/tests/io/formats/test_format.py
[] pandas/tests/io/formats/test_printing.py
[] pandas/tests/io/formats/test_style.py
[] pandas/tests/io/formats/test_to_csv.py
[] pandas/tests/io/formats/test_to_html.py
[] pandas/tests/io/formats/test_to_latex.py
[] pandas/tests/io/parser/test_compression.py
[] pandas/tests/io/parser/test_encoding.py
[] pandas/tests/io/parser/test_header.py
[] pandas/tests/io/parser/test_parse_dates.py
[] pandas/tests/io/parser/test_usecols.py
[] 熊猫/测试/io/test_html.py
[] 熊猫/测试/io/test_sql.py
[] 熊猫/测试/io/test_stata.py
[] 熊猫/测试/减少/test_reductions.py
[] 熊猫/测试/重塑/test_concat.py
[] 熊猫/测试/重塑/test_melt.py
[] 熊猫/测试/标量/期间/test_period.py
[] 熊猫/测试/标量/timedelta/test_timedelta.py
[] 熊猫/测试/标量/时间戳/test_constructors.py
[] 熊猫/测试/系列/索引/test_numeric.py
[] 熊猫/测试/系列/索引/test_take.py
[] 熊猫/测试/系列/索引/test_where.py
[] 熊猫/测试/系列/方法/test_rename.py
[] 熊猫/测试/系列/test_api.py
[] 熊猫/测试/系列/test_constructors.py
[] 熊猫/测试/系列/test_datetime_values.py
[] 熊猫/测试/系列/test_repr.py
[] 熊猫/测试/test_strings.py
[] 熊猫/测试/工具/test_to_datetime.py
[] 熊猫/测试/tseries/holiday/test_calendar.py
[] 熊猫/测试/tseries/holiday/test_holiday.py
[] 熊猫/测试/tslibs/test_parsing.py
[] pandas/tests/util/test_assert_frame_equal.py
[] 熊猫/tseries/frequencies.py
[] 熊猫/实用程序/_decorators.py
[] 熊猫/实用程序/_test_decorators.py
[] 熊猫/实用程序/_validators.py
[] 熊猫/_version.py
该列表可能会随着文件的不断移动/重命名而发生变化。
从这个PR继承的文件和命令。
我在拿:
[x] 熊猫/_libs/groupby.pyx
[x] 熊猫/_libs/hashing.pyx
[x] 熊猫/_libs/index.pyx
[x] 熊猫/_libs/internals.pyx
[x] 熊猫/_libs/interval.pyx
[x] 熊猫/_libs/lib.pyx
[x] 熊猫/_libs/ops.pyx
[x] 熊猫/_libs/parsers.pyx
[x] 熊猫/_libs/reduction.pyx
[x] 熊猫/_libs/sparse.pyx
[x] 熊猫/_libs/testing.pyx
[x] 熊猫/_libs/tslib.pyx
[x] 熊猫/_libs/window.pyx
我会采取:
开始,如果可以的话!
您好@SaturnFromTitan ,我个人有时会使用pyupgrade但仅当文件中仅包含一些过时的字符串格式时才使用。 然后我查看更改并修复pyupgrade 是否有问题。
当它们是出现很多次的文件时,我会手动查找“复杂”的文件(例如'%.2f' % my_float
)并让它处理常见的文件,通常它是正确的。
此外,某些更改会使更改后的文件与 pep8 不兼容,因此也需要修复该问题,否则将无法通过测试。
将采取下一步:
[x] 熊猫/兼容/__init__.py
[x] pandas/compat/numpy/function.py
[x] pandas/compat/numpy/__init__.py
[x] pandas/compat/_optional.py
我会采取:
每个人对将其标记为good first issue
的想法是什么? 它应该适用于这里的大多数文件。 需要进行的更改通常每个文件只有几行左右,进行更改的人不需要太担心影响代码的其他部分(因为执行的结束函数是相同的)。
我正在想象一个类似于#28926 的设置。
f 字符串替换放置在:
参考 #29701
将采取下一步:
[x] 熊猫/_libs/tslibs/conversion.pyx
[x] 熊猫/_libs/tslibs/c_timestamp.pyx
[x] 熊猫/_libs/tslibs/fields.pyx
[x] 熊猫/_libs/tslibs/nattype.pyx
[x] 熊猫/_libs/tslibs/np_datetime.pyx
[x] 熊猫/_libs/tslibs/offsets.pyx
[x] 熊猫/_libs/tslibs/parsing.pyx
[x] 熊猫/_libs/tslibs/timestamps.pyx
[x] 熊猫/_libs/tslibs/timezones.pyx
[x] 熊猫/_libs/tslibs/tzconversion.pyx
我会拿
参考 #29781
我会采取:
- [x] 熊猫/核心/重塑/concat.py
- [x] 熊猫/核心/重塑/melt.py
- [] 熊猫/核心/重塑/merge.py
- [x] 熊猫/核心/重塑/pivot.py
- [x] pandas/core/reshape/reshape.py
- [] 熊猫/核心/重塑/tile.py
每个人对将其标记为
good first issue
的想法是什么? 它应该适用于这里的大多数文件。 需要进行的更改通常每个文件只有几行左右,进行更改的人不需要太担心影响代码的其他部分(因为执行的结束函数是相同的)。我正在想象一个类似于#28926 的设置。
当然我也相应地贴上了标签。 谢谢
接下来:
[x] 熊猫/io/msgpack/_packer.pyx
[x] 熊猫/io/msgpack/_unpacker.pyx
[x] 熊猫/io/sas/sas.pyx
抱歉,我刚刚注意到您要求指定要处理的文件。 我只是一直在使用
grep -n -R -e '%s' -e '%d' -e '.format(' --include=*.{py,pyx} 熊猫/
查找任何旧格式。 我道歉
抱歉,我刚刚注意到您要求指定要处理的文件。 我只是一直在使用
@ForTimeBeing这就是我编辑帖子的原因,很高兴你注意到:)
你能发布你的工作吗? 以防万一有人搜索评论。
当然,我拿了;
和下
.format 仍然存在并显示在 grep 搜索中,但没有文字可以更改为 fstring。 不确定是否有另一种方法可以做到这一点或保持原样,但现在该文件中的所有文字都交换为 fstring 。
.format 仍然存在并显示在 grep 搜索中,但没有文字可以更改为 fstring。 不确定是否有另一种方法可以做到这一点或保持原样,但现在该文件中的所有文字都交换为 fstring 。
@暂时的
没问题:)
谢谢你的公关:)
我拿了
参考 #29952
我会采取:
[x] ci/print_skipped.py
[x] 文档/make.py
[x] 文档/sphinxext/announce.py
[x] doc/sphinxext/contributors.py
正在处理:'pandas/core/dtypes/dtypes.py'
拿:
参考:#30116、#30135、#30363
我会采取:
我有预定义字符串的问题。 我找到了解决方案,但我不确定它是否正确。
想象一下您有预定义字符串的情况,例如:
THE_MESSAGE = "带有参数的消息。Arg1:{arg1},Arg2:{arg2}。"
用 .format() 调用,如:
THE_MESSAGE.format(arg1_str, arg2_str)。
我可以通过下面描述的方式使用 lambda 函数重写它吗?
THE_MESSAGE = lambda arg1, arg2: f"带参数的消息。Arg1: {arg1}, Arg2: {arg2}。"
并调用它
THE_MESSAGE(arg1_str, arg2_str)?
我知道这会起作用,但我不确定这是否是解决此问题的最佳方法:)
我有预定义字符串的问题。
我完全理解,正如pep 498解释的那样:
常规字符串在编译时连接,f 字符串在运行时连接。
我们需要想办法去除使用.format()
并使用其他字符串模板。
目前我唯一能想到的是来自 stdlib 的string.Template
,但我真的不知道。
@jbrockmendel你能帮帮我们吗?
@MomIsBestFriend你认为 lambda 函数对这个来说
@MomIsBestFriend我认为这可能是一种情况,其中有几个.format
是要走的路
@MomIsBestFriend你认为 lambda 函数对这个来说
我不是专家,请询问其中一位开发人员。
拿
参考 #30120
拿
参考 #30121
拿
参考 #30124
我会拿
编辑:
服用:
[x] pandas/util/_depr_module.py
[x] pandas/util/_doctools.py
[x] pandas/util/_print_versions.py
[x] pandas/util/_test_decorators.py
[x] pandas/util/_tester.py
[x] pandas/util/testing.py
[x] pandas/util/_validators.py
我会拿
谢谢!
我会采取:
熊猫/测试/绘图/test_converter.py
熊猫/测试/绘图/test_datetimelike.py
熊猫/测试/绘图/test_series.py
我会拿
你好, @MomIsBestFriend
熊猫/测试/绘图/test_converter.py
熊猫/测试/绘图/test_datetimelike.py
熊猫/测试/绘图/test_series.py
已经完成。 谢谢你。
你好
我可以做
谢谢
你好,我拿
谢谢!
我拿了:
pandas/core/missing.py
pandas/core/nanops.py
pandas/tests/indexes/datetimes/test_partial_slicing.py
链接到我的公关: https :
我将致力于:
这里是因为标签“好第一个问题”
我会采取:
[] 熊猫/io/sql.py
[] 熊猫/io/stata.py
谢谢!
我会去做的:
我想带
我刚刚对它做了一个拉取请求
太好了,一直想参与 Pandas。 当我知道我可以在接下来的几周内完成什么时会更新......
我可以做
熊猫/_version.py
跳跃:
我会带pandas/io/formats/csvs.py
我在拿:
问题:是否有关于 API 参考中是否应保留旧式字符串格式的答案?
例如,在series.map()
:
It also accepts a function:
>>> s.map('I am a {}'.format)
0 I am a cat
1 I am a dog
2 I am a nan
3 I am a rabbit
dtype: object
用 f-string 示例替换它会强制执行以下操作:
>>> s.map(lambda x: f'I am a {x}')
0 I am a cat
1 I am a dog
2 I am a nan
3 I am a rabbit
dtype: object
这不是一个精确的替换(f-string 不是一个函数,我使用 lambda 使它成为一个复制 'I am a '.format() 的净效果的函数),并引发了一些关于放置的棘手问题文档中的一些非最佳实践。
目前,我正在考虑将文档更改为超出范围的、等待社区决定如何处理此类案例。
已经完成(不确定由谁完成):
熊猫/测试/数组/间隔/test_ops.py
我也会带
问题:是否有关于 API 参考中是否应保留旧式字符串格式的答案?
抄送@WillAyd @jreback
我不知道您认为“老式字符串格式”是什么,但是.format
将有一些 f-strings 不涵盖的用例(即延迟参数化),因此确保它仍然存在. 我不认为我们应该在任何地方使用 Py27 字符串格式语法
我会采取:
我会拿
在#30601中,我承担了
如果可以的话,我可以从下面的两个文件开始!
这些更改已在 #30604 中完成
承担:
是否有一种首选方法可以记录在 PR 中保留原样的.format
旧预期用途? 在(错误地)假设某个东西是一个很好的用例的情况下,它在 PR 中被忽略了
致力于
我会拿
我想尝试:
我想采取:
谢谢@HH-MWB
我将采取:
我发现@Appender()
中的很多代码都使用%
来格式化字符串。 这些代码使用_shared_docs
作为模板,它主要在 /pandas/core/generic.py 中定义,并被用于跨多个文件。
我想替换所有_shared_docs
相关格式。 此更改将需要修改大量文件,但我将无法检查这些文件中的所有其他字符串格式语法。
这听起来好吗? 我应该这样做吗? @datapythonista @MomIsBestFriend
我发现
@Appender()
中的很多代码都使用%
来格式化字符串。 这些代码使用_shared_docs
作为模板,它主要在 /pandas/core/generic.py 中定义,并被用于跨多个文件。我想替换所有
_shared_docs
相关格式。 此更改将需要修改大量文件,但我将无法检查这些文件中的所有其他字符串格式语法。这听起来好吗? 我应该这样做吗? @datapythonista @MomIsBestFriend
@HH-MWB 我真的没有发言权,我认为 jreback、WillAyd 和 datapythonista(不标记,因为我不想打扰他们),可以比我更能帮助你:)
你想用 Appender 替换什么? 我不认为可以是 f-strings
用 .format 替换 Py27 语法就可以了,但可能值得开一个单独的问题来讨论
你想用 Appender 替换什么? 我不认为可以是 f-strings
用 .format 替换 Py27 语法就可以了,但可能值得开一个单独的问题来讨论
@WillAyd我确实认为 stdlib 中的string.Template
是正确的方法。
有什么想法吗?
嗨@WillAyd ,抱歉我没有说清楚。 是的,我最初的想法是替代%
由.format
,并且还更换代码一样%(XXX)s
为{XXX}
在_shared_docs
模板。 就像@MomIsBestFriend所说的, string.Template
将是另一种选择。
我打开了一个单独的问题进行更多讨论。 谢谢!
@MomIsBestFriend你好! 第一次开源贡献者在这里! 我对我的第一个 PR 感到非常兴奋! 我将尝试处理以下文件:
版本管理器
网络/pandas_web.py
谢谢!!
@drewseibert versioneer.py 是vendored,所以我们不想编辑它@MomIsBestFriend你能从列表中删除它以避免这种混淆吗
@jbrockmendel感谢您的
此外,当我尝试推送提交时出现 403 权限错误。 我添加了一个 SSH 密钥并尝试设置远程 URL。 无论我是使用 SSH 还是 HTTPS 克隆,都不适合我。 任何帮助表示赞赏! 谢谢!
@MomIsBestFriend你好! 第一次开源贡献者在这里! 我对我的第一个 PR 感到非常兴奋! 我将尝试处理以下文件:
版本管理器
网络/pandas_web.py
谢谢!!
祝你好运@drewseibert
我会采取:
熊猫/核心/重塑/ concat.py
熊猫/核心/重塑/melt.py
熊猫/核心/重塑/merge.py
熊猫/核心/重塑/pivot.py
熊猫/核心/重塑/reshape.py
现在正在做这个:
熊猫/测试/io/test_pickle.py
你好
我会拿
熊猫/实用程序/_print_versions.py
pandas/util/_test_decorators.py
https://github.com/pandas-dev/pandas/pull/31628 应该没问题:)
我要pandas/tests/frame/test_repr_info.py
参考: https :
嘿,我拿
可以在列表中检查以下文件...
网络/pandas_web.py
熊猫/测试/io/test_pickle.py
谢谢!
另一个要检查的...文件中不需要 f 字符串:
熊猫/测试/系列/索引/test_boolean.py
我现在要处理这个......
熊猫/测试/系列/索引/test_indexing.py
谢谢@drewseibert
这里还有工作吗? 我想贡献
@3vts是的,当然:)
我想你可以拿
pandas/tests/util/test_assert_extension_array_equal.py
如果你想要更多,LMK。
有什么我可以帮忙的! 这将是我的第一个开源贡献,所以我可能需要一些帮助。 我已经阅读了一些如何贡献文章,但仍然如此。
你希望我处理哪些?
@MomIsBestFriend似乎pandas/tests/util/test_assert_extension_array_equal.py
已在 PR #30816上
@3vts @GrizzledLabs - 随意获取上面列表中尚未完成的任何文件(并检查没有其他人正在处理它) - 然后在这里评论您正在处理的内容! 谢谢 !
pandas/core/arrays/boolean.py 似乎已经完成。 我看到了一个 f'string 而没有 .format(),除非我错过了。
pandas/core/dtypes/common.py 似乎也已经完成了。 f'strings 但没有 .format()
其中一些修复程序是否跨越多个文件? 一些不包含单个 .format(),我想知道文件之间是否调用了函数? 单个修复是否需要更改多个文件?
嗨,这里是第一次贡献者! 迫不及待要上路了!
最初我想采取这些:
熊猫/兼容/pickle_compat.py
熊猫/_config/config.py
但后来我看到它已经完成并合并了, @MomIsBestFriend你能不能更新顶部的列表,把它们打勾?
我会拿这些:
[] pandas/tests/io/parser/test_usecols.py
[] 熊猫/测试/io/pytables/conftest.py
[] 熊猫/测试/io/pytables/test_store.py
[] 熊猫/测试/io/pytables/test_timezones.py
@MomIsBestFriend查看线程我发现预定义字符串有一个例外。 这仍然适用吗? 或者我们现在有。 解决方法?
我有预定义字符串的问题。
我完全理解,正如pep 498解释的那样:
常规字符串在编译时连接,f 字符串在运行时连接。
我们需要想办法去除使用
.format()
并使用其他字符串模板。目前我唯一能想到的是来自 stdlib 的
string.Template
,但我真的不知道。@jbrockmendel你能帮帮我们吗?
你好,第一次投稿 👋 。 我会采取:
@monicaw218 ,我只会从一个文件开始,一旦您的拉取请求合并,您就可以继续处理其余的文件。 第一个贡献通常比预期的要棘手,对于我们(审阅者)来说,如果拉取请求很小,它通常也有帮助。 特别是对于可能需要更多反馈的新贡献者。
可以从列表中检查这两个文件:
👍
熊猫/io/parsers.py
熊猫/io/pytables.py
这些也很好:
熊猫/测试/groupby/test_apply.py
熊猫/测试/groupby/test_bin_groupby.py
这些已准备就绪 #31914
“熊猫/测试/扩展/十进制/test_decimal.py”
“熊猫/测试/框架/索引/test_categorical.py”
“熊猫/测试/框架/方法/test_describe.py”
“熊猫/测试/框架/方法/test_duplicated.py”
“熊猫/测试/框架/方法/test_to_dict.py”
“熊猫/测试/框架/test_alter_axes.py”
“熊猫/测试/框架/test_api.py”
“熊猫/测试/框架/test_constructors.py”
“熊猫/测试/框架/test_dtypes.py”
“熊猫/测试/框架/test_join.py”
我将采用“pandas/io/sas/sas_xport.py”。
这些已准备就绪 #31933
“熊猫/测试/框架/test_operators.py”
“熊猫/测试/框架/test_reshape.py”
“熊猫/测试/帧/test_timeseries.py”
“熊猫/测试/索引/日期时间/test_scalar_compat.py”
“熊猫/测试/索引/日期时间/test_tools.py”
“熊猫/测试/索引/间隔/test_indexing.py”
“熊猫/测试/索引/间隔/test_interval.py”
这些包含在 #31945 中
“熊猫/测试/索引/间隔/test_setops.py”
“熊猫/测试/索引/multi/test_compat.py”
“熊猫/测试/索引/期间/test_constructors.py”
“熊猫/测试/索引/timedeltas/test_constructors.py”
“熊猫/测试/索引/test_floats.py”
这些包含在 #31963 中
“熊猫/测试/内部/test_internals.py”
“熊猫/测试/io/excel/test_readers.py”
“熊猫/测试/io/excel/test_style.py”
“熊猫/测试/io/excel/test_writers.py”
“熊猫/测试/io/excel/test_xlrd.py”
“熊猫/测试/io/formats/test_console.py”
“熊猫/测试/io/formats/test_to_html.py”
“熊猫/测试/io/formats/test_to_latex.py”
“熊猫/测试/io/generate_legacy_storage_files.py”
这些包含在 #31967 中
"pandas/tests/io/parser/test_c_parser_only.py"
“熊猫/测试/io/parser/test_common.py”
“熊猫/测试/io/parser/test_compression.py”
“pandas/tests/io/parser/test_encoding.py”
"pandas/tests/io/parser/test_multi_thread.py"
“pandas/tests/io/parser/test_na_values.py”
"pandas/tests/io/parser/test_parse_dates.py"
"pandas/tests/io/parser/test_read_fwf.py"
“熊猫/测试/io/pytables/conftest.py”
“熊猫/测试/io/pytables/test_store.py”
这些包含在 #31980 中
“熊猫/测试/io/pytables/test_timezones.py”
“熊猫/测试/io/test_html.py”
“熊猫/测试/io/test_stata.py”
“熊猫/测试/重新采样/test_period_index.py”
“熊猫/测试/重塑/合并/test_join.py”
“熊猫/测试/重塑/合并/test_merge.py”
“熊猫/测试/重塑/合并/test_merge_asof.py”
“熊猫/测试/重塑/test_melt.py”
“熊猫/测试/重塑/test_pivot.py”
“熊猫/测试/标量/timedelta/test_constructors.py”
这些包含在 #31986 中
“熊猫/测试/标量/时间戳/test_constructors.py”
“熊猫/测试/标量/时间戳/test_rendering.py”
“熊猫/测试/标量/时间戳/test_unary_ops.py”
“熊猫/测试/系列/方法/test_nlargest.py”
“熊猫/测试/系列/test_analytics.py”
“熊猫/测试/系列/test_api.py”
“熊猫/测试/系列/test_dtypes.py”
“熊猫/测试/系列/test_ufunc.py”
用这个https://github.com/pandas-dev/pandas/pull/32007添加了我的第一个拉取请求:
熊猫/测试/框架/test_to_csv.py
这些包含在 #32032 中
“熊猫/测试/test_downstream.py”
“熊猫/测试/test_multilevel.py”
“熊猫/测试/工具/test_numeric.py”
“熊猫/测试/tseries/频率/test_inference.py”
“熊猫/测试/tslibs/test_parse_iso8601.py”
“熊猫/测试/窗口/时刻/test_moments_rolling.py”
此文件包含在 #32029 中:
https://github.com/pandas-dev/pandas/pull/32044 中包含的文件
这些包含在 #32034 中
“熊猫/核心/阵列/interval.py”
“熊猫/核心/util/hashing.py”
“熊猫/io/格式/format.py”
“熊猫/io/formats/html.py”
“熊猫/io/formats/latex.py”
“熊猫/io/格式/printing.py”
“熊猫/io/parsers.py”
“熊猫/测试/数组/分类/test_dtypes.py”
“熊猫/测试/数组/分类/test_operators.py”
这些都做好了...
熊猫/核心/ops/invalid.py
熊猫/核心/操作/methods.py
熊猫/核心/操作/roperator.py
#32063 中包含的文件:
嗨,我想使用 scripts/validate_docstrings.py
拉取请求中包含的文件 #32189
这个问题解决了吗? 我一直在查看该线程顶部列表中未标记的文件,似乎 .format() 字符串已被转换
pandas//util/_decorators.py 已完成(失败的行是注释)
pandas//core/indexes/base.py 应该被标记掉(失败再次来自评论)
嗨,我开始查看 pandas/core/generic.py 并很快意识到将字符串模板从插入%
的字符串更改为string.Template
将需要在Substitute
许多地方进行更改Appender
装饰器。
您的目标是删除%
字符串插值的所有用法,在这种情况下,这项工作将是必要的,还是您可以使用%
插值?
@smartvinnetou当谈到Appender
和Substitute
我们现在试图用doc
装饰器替换它们。 见https://github.com/pandas-dev/pandas/issues/31942
@smartvinnetou当谈到
Appender
和Substitute
我们现在试图用doc
装饰器替换它们。 见#31942
@MomIsBestFriend您是否愿意跳过这张票中pandas/core/generic.py
的升级并在 #31942 下进行? 或者我应该代替Appender
和Subtitute
在装修generic.py
用新的doc
这张票在装饰删除旧的%
插值?
@smartvinnetou当谈到
Appender
和Substitute
我们现在试图用doc
装饰器替换它们。 见#31942@MomIsBestFriend您是否愿意跳过这张票中
pandas/core/generic.py
的升级并在 #31942 下进行? 或者我应该代替Appender
和Subtitute
在装修generic.py
用新的doc
这张票在装饰删除旧的%
插值?
@smartvinnetou在pandas/core/generic.py
的情况下,在 #31942 下(如果我理解正确的话)
您好,发现很多文件已经完成或不需要更改,但被标记为未完成。 只是想问一下这个问题是否已解决并且不小心没有标记,或者你们仍在处理它。 如果它没有解决,我也想贡献。 这些是一些已完成但未标记的文件
@sachinh35我已经更新了列表:)
很难跟踪
感谢您更新列表! @MomIsBestFriend
我想为pandas/core/ops/
下的文件贡献 #32939 。 应该如何处理文档字符串,例如https://github.com/pandas-dev/pandas/blob/master/pandas/core/ops/docstrings.py#L564有时也会导入其他文件? 包装在函数中?
我变了
修改了两个文件:
熊猫/_libs/tslibs/timedeltas.pyx
熊猫/_libs/tslibs/timestamps.pyx
请注意,以下内容没有问题。 您也可以标记为完成:
熊猫/_libs/tslibs/c_timestamp.pyx
熊猫/_libs/tslibs/frequencies.pyx
熊猫/_libs/tslibs/parsing.pyx
熊猫/_libs/tslibs/period.pyx
熊猫/_libs/tslibs/strptime.pyx
注意:这是我有史以来的第一个 PR。 让我知道是否需要改进。
我已经完成了该主题以更新列表 + 检查一些文件。
(无需更改任何内容):
我照顾了pandas/util/_validators.py
。 许多其他文件对我来说似乎也不错。
嗨,马特奥,
我有兴趣帮助完成这项工作,但我是 git 的新手并且
为熊猫做出贡献。 你能不能陪我走过
脚步 ? 也许这周我可以设置一个屏幕共享?
谢谢,
安德鲁
2020 年 5 月 26 日,星期二,下午 3:12,Matteo Santamaria通知@ github.com
写道:
我处理了 pandas/util/_validators.py。 许多其他文件
对我来说已经很好了。
- pandas/util/_test_decorators.py
- 熊猫/tseries/frequencies.py
- pandas/tests/util/test_assert_frame_equal.py
- 熊猫/测试/tslibs/test_parsing.py
- 熊猫/测试/tseries/holiday/test_holiday.py
- 熊猫/测试/tseries/holiday/test_calendar.py
- 熊猫/测试/工具/test_to_datetime.py
- 熊猫/测试/test_strings.py
- 熊猫/测试/系列/test_repr.py
- 熊猫/测试/系列/test_datetime_values.py
- 熊猫/测试/系列/test_constructors.py
- 熊猫/测试/系列/test_api.py
—
您收到此消息是因为您订阅了此线程。
直接回复本邮件,在GitHub上查看
https://github.com/pandas-dev/pandas/issues/29547#issuecomment-634307953 ,
或取消订阅
https://github.com/notifications/unsubscribe-auth/APG73XKAUDLFVVQXUS2SJETRTQ5DDANCNFSM4JLZCU5Q
.
嘿@warden706 ,我实际上也是新来的,所以我没有什么可以给你看的。 我发现这个资源非常有用,因为我偶然发现,你应该检查一下。
你好,
在这里也很新。 我照顾
我检查了这些其他文件,对我来说似乎没问题
我也是新来的。
我会拿
我有一个关于代码更改的问题。
例如,在 pandas/tests/series/indexing/test_take.py 中,代码片段:
msg = "index {} is out of bounds for( axis 0 with)? size 5"
with pytest.raises(IndexError, match=msg.format(10)):
ser.take([1, 10])
所以我的建议是将其替换为:
msg = lambda x: f"index {x} is out of bounds for( axis 0 with)? size 5"
with pytest.raises(IndexError, match=msg(10)):
ser.take([1, 10])
够好吗?
你好,
我想做一个 PR,所以我正在运行测试,但我有几次失败。 所以我也尝试在 master 上运行测试。
在未编辑的分叉主服务器上运行pytest pandas
返回几次失败是否正常?
大师一般应该通过测试。 确保你已经拉取了最新的提交。 哪些测试失败?
@matteosantama我提取了最后一次提交,重新安装了环境并使用pytest pandas
重新运行测试。 这些是结果
================= short test summary info =================
FAILED pandas/tests/io/test_parquet.py::TestParquetFastParquet::test_s3_roundtrip - ValueError: Invalid timestamp "Ven, 29 Mag 2020 07:59:19 GMT": Unknown string format: Ven, 29 Mag 2020 07:59:19 GMT
FAILED pandas/tests/plotting/test_datetimelike.py::TestTSPlot::test_ts_plot_with_tz['UTC'] - AttributeError: 'numpy.datetime64' object has no attribute 'hour'
================= 2 failed, 87804 passed, 1185 skipped, 1005 xfailed, 5637 warnings in 2437.06s (0:40:37) =================
我注意到,如果我只在单个目录上运行测试(例如使用pytest pandas/tests/io
),则没有失败:
7273 passed, 344 skipped, 53 xfailed, 5584 warnings in 351.76s (0:05:51)
自从@OlivierLuG发表评论以来,似乎几乎所有文件都已更正或未经任何修改就已经可以了。 我将尝试更新有关“仍然打开”文件的列表。
而且,我认为这也已经可以了
@DanBasson你有任何更新吗?
我不断收到错误,我不知道它们是什么意思。
任何帮助将不胜感激
您是否尝试过获取 master 上的最新修改? 也许它会修复一些失败的测试。
它没有帮助。
如果别人想拿,你可以
我有一个疑问:当我们遇到类似pandas/tests/reshape/test_melt.py
:
msg = "The following '{Var}' are not present in the DataFrame: {Col}"
...
with pytest.raises(KeyError, match=msg.format(Var="value_vars", Col="\\['C'\\]")):
...
with pytest.raises(KeyError, match=msg.format(Var="id_vars", Col="\\['A'\\]")):
...
等等,我们是否应该将msg
为一个函数并使用不同的“Col”值调用它? 还是保持原样更好?
@MatteoFelici感谢更新列表。 我检查了你调用的最后几个剩余模块,这看起来不错,所以我想我们可以关闭这个问题
最有用的评论
用这个https://github.com/pandas-dev/pandas/pull/32007添加了我的第一个拉取请求:
熊猫/测试/框架/test_to_csv.py