用 Python 编写一个程序,对第一列进行移位操作,并从用户获取一个值。如果输入的值同时能被 3 和 5 整除,则填充缺失的值。


输入 -

假设您有一个 DataFrame,对第一列进行移位操作并填充缺失值的结果如下所示:

 one two three
0 1   10 100
1 2   20 200
2 3   30 300
enter the value 15
 one two three
0 15  1   10
1 15  2   20
2 15  3   30

解决方案

为了解决这个问题,我们将遵循以下方法。

  • 定义一个 DataFrame

  • 使用以下代码对第一列进行移位操作:

data.shift(periods=1,axis=1)
  • 从用户获取值并验证它是否同时能被 3 和 5 整除。如果结果为真,则填充缺失值,否则填充 NaN。定义如下:

user_input = int(input("enter the value"))
if(user_input%3==0 and user_input%5==0):
   print(data.shift(periods=1,axis=1,fill_value=user_input))
else:
   print(data.shift(periods=1,axis=1))

示例

让我们看看完整的实现以获得更好的理解 -

import pandas as pd
data= pd.DataFrame({'one': [1,2,3],
                     'two': [10,20,30],
                     'three': [100,200,300]})
print(data)
user_input = int(input("enter the value"))
if(user_input%3==0 and user_input%5==0):
   print(data.shift(periods=1,axis=1,fill_value=user_input))
else:
   print(data.shift(periods=1,axis=1))

输出 1

 one two three
0 1   10   100
1 2   20   200
2 3   30   300
enter the value 15
 one two three
0 15   1 10
1 15   2 20
2 15   3 30

输出 2

one two three
0    1    10 100
1    2    20 200
2    3    30 300
enter the value 3
  one two three
0 NaN 1.0 10.0
1 NaN 2.0 20.0
2 NaN 3.0 30.0

更新于: 2021年2月24日

41 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告