Python 使用现有列在数据框中添加额外列
我有以下数据框:Python 使用现有列在数据框中添加额外列,python,pandas,database,dataframe,csv,Python,Pandas,Database,Dataframe,Csv,我有以下数据框: Movie Budget Worldwide Gross Year 0 2012 200000000 791217826 2009 1 Aladdin 183000000 1050693953 2019 2
Movie Budget Worldwide Gross Year
0 2012 200000000 791217826 2009
1 Aladdin 183000000 1050693953 2019
2 Alice in Wonderland 200000000 1025468216 2010
3 Aquaman 160000000 1148485886 2018
4 Avatar 237000000 2847246203 2009
因此,我必须使用:
usuario = int(input('Cual es la pelicula que desea buscar? '))
opcion1 = datos[datos["Movie"] == usuario ]
以查找用户提供的特定电影
通过这样做,我必须创建一个名为“利润百分比”的附加列:(全球毛额/预算*100)…我尝试了以下代码,但没有成功
datos["porcentage de ganancia"] = datos["Worldwide Gross"] / datos["Budget"] * 100
非常感谢您的帮助!以下是您的熊猫数据框:
import pandas as pd
df = pd.DataFrame(
[
('2012', 200000000, 791217826, 2009),
('Aladdin', 183000000, 1050693953, 2019),
('Alice in Wonderland', 200000000, 1025468216, 2010),
('Aquaman', 160000000, 1148485886, 2018),
('Avatar', 237000000, 2847246203, 2009),
],
columns=['Movie', 'Budget', 'Worldwide Gross', 'Year']
)
print(df)
Movie Budget Worldwide Gross Year
0 2012 200000000 791217826 2009
1 Aladdin 183000000 1050693953 2019
2 Alice in Wonderland 200000000 1025468216 2010
3 Aquaman 160000000 1148485886 2018
4 Avatar 237000000 2847246203 2009
这个很好用
df["porcentage de ganancia"] = df["Worldwide Gross"] / df["Budget"] * 100
print(df)
Movie Budget Worldwide Gross Year porcentage de ganancia
0 2012 200000000 791217826 2009 395.608913
1 Aladdin 183000000 1050693953 2019 574.149701
2 Alice in Wonderland 200000000 1025468216 2010 512.734108
3 Aquaman 160000000 1148485886 2018 717.803679
4 Avatar 237000000 2847246203 2009 1201.369706
因此,我怀疑您的
dtypes
可能有问题。您可以使用df.dtypes
检查它们。如果这是问题所在,这应该可以解决问题:
df["porcentage de ganancia"] = df["Worldwide Gross"].astype(int) / df["Budget"].astype(int) * 100