Python 如何从熊猫核心系列中获取价值?

Python 如何从熊猫核心系列中获取价值?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据帧df,其中是特定ip号码的时区: ip1 ip2 timezone 0 16777215 0 16777216 16777471 +10:00 16777472 16778239 +08:00 16778240 16779263 +11:00 16779264 16781311 +08:00 16781312 16785407

我有一个数据帧
df
,其中是特定ip号码的时区:

ip1         ip2           timezone
0           16777215          0
16777216    16777471       +10:00
16777472    16778239       +08:00
16778240    16779263       +11:00
16779264    16781311       +08:00
16781312    16785407       +09:00
...
第一行适用于从0到16777215的ip号码,第二行适用于从16777216到16777471的ip号码,依此类推。 现在,我浏览了一个文件夹,想知道每个文件的时区(在我计算了文件的
ip\u编号之后)。
我使用:

但这是熊猫核心系列,我只想要“+5:30”。
我怎么会变成这样?或者是否有其他方法代替
df.loc[…]
直接成为
df
时区列的值?

要从大小为1的系列中提取唯一值,请使用:

屈服

         ip timezone
0  16777471   +10:00
1  16777473   +08:00
2  16778238   +08:00
3  16785406   +09:00
理想情况下,下一步是应用更多NumPy/Pandas矢量化函数 一次处理整个数据帧。但如果必须,可以迭代 通过
结果
数据帧逐行显示。不过,您的代码看起来会更干净一些 因为您可以轻松读取ip和相应的偏移量(并且无需调用
.item()


要从大小为1的系列中提取唯一值,请使用:

屈服

         ip timezone
0  16777471   +10:00
1  16777473   +08:00
2  16778238   +08:00
3  16785406   +09:00
理想情况下,下一步是应用更多NumPy/Pandas矢量化函数 一次处理整个数据帧。但如果必须,可以迭代 通过
结果
数据帧逐行显示。不过,您的代码看起来会更干净一些 因为您可以轻松读取ip和相应的偏移量(并且无需调用
.item()

把它列出来

list(time)
如果仅排除一个值

list(time)[0]
或者您可以提前:

#for numpy array
time=df.loc[(df['ip1'] <= ip_number) & (ip_number <= df['ip2']), 'timezone'].values

#for list
time=list(df.loc[(df['ip1'] <= ip_number) & (ip_number <= df['ip2']), 'timezone'].values)
用于numpy阵列的
#
time=df.loc[(df['ip1']只需列出它即可

list(time)
如果仅排除一个值

list(time)[0]
或者您可以提前:

#for numpy array
time=df.loc[(df['ip1'] <= ip_number) & (ip_number <= df['ip2']), 'timezone'].values

#for list
time=list(df.loc[(df['ip1'] <= ip_number) & (ip_number <= df['ip2']), 'timezone'].values)
用于numpy阵列的
#

time=df.loc[(df['ip1']我对另一个问题的回答不起作用吗?我真的不明白。这个方法对我来说容易得多,但我需要最后一步的帮助。这只适用于一个ip_编号。如果你想要这些值,请执行
time.values[0]
。我对另一个问题的回答不起作用吗?我真的不明白。这个方法对我来说简单得多,但我需要最后一步的帮助。这只适用于一个ip\U号码。如果您需要这些值,请执行
time.values[0]
#for numpy array
time=df.loc[(df['ip1'] <= ip_number) & (ip_number <= df['ip2']), 'timezone'].values

#for list
time=list(df.loc[(df['ip1'] <= ip_number) & (ip_number <= df['ip2']), 'timezone'].values)