6
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi là người mới bắt đầu trong Python và cố gắng lấy hàng từ bộ dữ liệu có xếp hạng IDMB cao nhất và tổng số cao nhất mà tôi đã quản lý để có được nhưng giá trị gross_total của tôi không phải là số nguyên. Làm thế nào tôi có thể chuyển đổi nó thành số nguyên? và làm thế nào để có được giá trị cụ thể đó để thực hiện các chức năng thống kê.
import pandas as pd
dataset=pd.read_excel['movies.xls']
name=dataset['Title']
idmb=dataset['IMDB Score']
networth=dataset['Gross Earnings']
test_df=pd.DataFrame[{'movie':name,
'rating':idmb,
'gross_total':networth}]
nds=test_df.dropna[axis=0,how='any']
a=nds['gross_total'].astype[int]
highest_rating =nds.loc[nds['rating'].idxmax[]]
highiest_networth=nds.loc[ nds['gross_total'].idxmax[]]
print[highest_rating]
print[highiest_networth]
Tôi nhận được đầu ra này
gross_total 2.83415e+07
movie The Shawshank Redemption
rating 9.3
Name: 742, dtype: object
Tôi đã tìm kiếm và biết về các chức năng "pd.to_numeric" và "astype" nhưng tôi không thể hiểu làm thế nào để sử dụng điều này trong tình huống này.
Hỏi ngày 14 tháng 4 năm 2018 lúc 22:04Apr 14, 2018 at 22:04
Điều này làm việc cho tôi, đáng để thử:
df['col_name'] = df['col_name'].astype['int64']
Đã trả lời ngày 17 tháng 5 năm 2019 lúc 7:41May 17, 2019 at 7:41
Shalini Baranwalshalini BaranwalShalini Baranwal
2.5704 Huy hiệu vàng23 Huy hiệu bạc33 Huy hiệu Đồng4 gold badges23 silver badges33 bronze badges
Tôi đã từng gặp vấn đề tương tự. Sử dụng
df['Tata'].map[int]
Đã trả lời ngày 3 tháng 4 năm 2019 lúc 20:43Apr 3, 2019 at 20:43
Li Wangli WangLi Wang
511 Huy hiệu bạc2 Huy hiệu đồng1 silver badge2 bronze badges
Bạn định dạng đầu ra của mình cho phù hợp:
n = 2.83415e+07
print[f'{n:f}']
print[f'{n:e}']
Output:
28341500.000000
2.834150e+07
Xem Định dạng Chuỗi Ngôn ngữ mini
Gấu trúc hoạt động giống nhau:
import pandas as pd
df = pd.DataFrame [ [{"tata": 2.325568e9}]]
# print with default float settings
print [df]
pd.options.display.float_format = '{:,.4f}'.format # set other global format
# print with changed float settings
print[df]
# really convert the type:
df["tata"] = df["tata"].astype[int]
# print with default int settings
print[df]
Tín dụng cho: Câu trả lời của Unutbu tại đây
Output:
tata
0 2.325568e+09 # before format change
tata
0 2.325.568.000,0000 # after format change
tata # after int conversion
0 -2147483648
Có nhiều cách khác để thực hiện định dạng - xem cách hiển thị khung dữ liệu gấu trúc của phao bằng cách sử dụng chuỗi định dạng cho các cột?
Đã trả lời ngày 14 tháng 4 năm 2018 lúc 22:15Apr 14, 2018 at 22:15
Patrick Artnerpatrick ArtnerPatrick Artner
49.2k8 Huy hiệu vàng45 Huy hiệu bạc67 Huy hiệu Đồng8 gold badges45 silver badges67 bronze badges
pd.set_option['display.float_format', '{:.2f}'.format]
df = pd.DataFrame[{'Traded Value':[67867869890077.96,78973434444543.44],
'Deals':[789797, 789878]}]
print[df]
0 | 67867869890077.96 | 789797 |
1 | 78973434444543.44 | 789878 |
elena.kim
9214 Huy hiệu vàng11 Huy hiệu bạc21 Huy hiệu đồng4 gold badges11 silver badges21 bronze badges
Đã trả lời ngày 14 tháng 7 năm 2021 lúc 6:46Jul 14, 2021 at 6:46
Alpha Qalpha qALPHA Q
11 Huy hiệu bạc2 Huy hiệu đồng1 silver badge2 bronze badges