作为Python的初学者,我经常遇到这个问题 - 假设我正在使用数据框并希望在其中一个列上执行操作。它可以只是从值中删除小数点,或者我想从日期列中取出月份。但通常我会在网上找到解决方案 - 它通常显示为单个值或数据点,如下所示:
a = 11.0
int(a)
11
现在,如果我有数据框或列,则无法应用相同的解决方案。再次如果我想用日期添加时间
d = date.today()
d
datetime.date(2018, 3, 30)
datetime.combine(d, datetime.min.time())
datetime.datetime(2018, 3, 30, 0, 0)
以同样的方式,该解决方案不能用于数据帧。这会引发错误。显然我在这里缺乏知识,我无法使其在数据框架方面发挥作用。能否请您指出可能有助于我从数据框架中理解这些问题的主题?或者可能会举例说明它是如何完成的?
答案 0 :(得分:1)
您应该查看 pandas 库来操作数据帧:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html
这是为给定列的每个值应用函数的示例:
import pandas as pd
def myFunction(a_string):
return a_string.upper()
data = pd.read_csv('data.csv')
print(data)
data['City'] = data['City'].apply(myFunction)
print(data)
开头的数据:
Name City Age
Robert Paris 32
Max Dallas 24
Raj Delhi 27
之后的数据:
Name City Age
Robert PARIS 32
Max DALLAS 24
Raj DELHI 27
这里myFunction大写字符串,但可以用于其他类型的操作。
希望有所帮助。