gpt4 book ai didi

python - Pandas 子串

转载 作者:太空宇宙 更新时间:2023-11-04 11:12:36 25 4
gpt4 key购买 nike

如何使用 loc 或 iloc 从列中的字符串中提取第 5 个和第 6 个字符并创建一个新列?

我的数据框:

打印(df):

index effective date
0 2019-12
2 2019-13
15 2019-10
20 2019-09
23 2018-26

以下工作但它给了我切片消息的副本:

df['pp'] = df['effective date'].str[5:7]

试图在 DataFrame 的切片副本上设置一个值。尝试使用 .loc[row_indexer,col_indexer] = value 代替

请参阅文档中的注意事项:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy

没有警告的预期结果是这样的:

打印(df):

index effective date  pp
0 2019-12 12
2 2019-13 13
15 2019-10 10
20 2019-09 09
23 2018-26 26

我已经查看了推荐的文档,但找不到任何真正有用的东西。感谢您的帮助。

-戴夫

最佳答案

看起来你只需要 str.split("-")

例如:

df = pd.DataFrame({"effective date": ["2019-12", "2019-13", "2019-10", "2019-09", "2018-26"]})
df['pp'] = df['effective date'].str.split("-").str[1]
print(df)

df['pp'] = pd.to_datetime(df['effective date'], format="%Y-%d").dt.day

输出:

  effective date  pp
0 2019-12 12
1 2019-13 13
2 2019-10 10
3 2019-09 09
4 2018-26 26

关于python - Pandas 子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57847714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com