【发布时间】:2021-12-29 20:30:02
【问题描述】:
我从一个文件中读取了一些数据。由于第一个数据行中的 XXX,第一列被分配了“对象”类型:
tips = pd.read_csv("tips.csv")
print(tips.head())
print(tips.info())
total_bill tip sex smoker day time size
0 xxx 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 244 entries, 0 to 243
Data columns (total 7 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 total_bill 244 non-null object
1 tip 244 non-null float64
2 sex 244 non-null object
3 smoker 244 non-null object
4 day 244 non-null object
5 time 244 non-null object
6 size 244 non-null int64
所以,这将失败,因为第一行数据中的 XXX 应该是一个数字:
tips['tip_pct'] = tips['tip'] / (tips['total_bill'] - tips['tip'])
如何在不实际更改 DataFrame 内容的情况下重写上述行以过滤掉坏行?
【问题讨论】:
标签: python python-3.x pandas