Ale*_*lex 1 python list pandas
我有一个熊猫数据框(Python 2.11),其中包含一列中的文本时间(格式为hh:mm:ss).我想只得到小时(减去或秒).为此,我创建了一个列表
df.Time.str.split(":")
Run Code Online (Sandbox Code Playgroud)
这样我得到一个列表,例如[10,23,00].如何访问第一个(第二个或第三个)值以继续为数据框中的每一行工作?
df.Time.str.split(":")[0]
Run Code Online (Sandbox Code Playgroud)
返回第一行但不返回第一行.
我认为你需要参数expand=True- 然后输出是3列df:
df.Time.str.split(":", expand=True)
Run Code Online (Sandbox Code Playgroud)
样品:
df = pd.DataFrame({'Time':['10:23:00', '11:23:00']})
print (df)
Time
0 10:23:00
1 11:23:00
df[['hour','minute','seconds']] = df.Time.str.split(":", expand=True)
print (df)
Time hour minute seconds
0 10:23:00 10 23 00
1 11:23:00 11 23 00
Run Code Online (Sandbox Code Playgroud)
如果不需要所有值,则可以使用.str[]列表的选择值 - docs:
df['hour'] = df.Time.str.split(":").str[0]
df['minute'] = df.Time.str.split(":").str[1]
print (df)
Time hour minute
0 10:23:00 10 23
1 11:23:00 11 23
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1155 次 |
| 最近记录: |